diff --git a/README.rst b/README.rst index 641c9962e..e386a586b 100644 --- a/README.rst +++ b/README.rst @@ -146,7 +146,7 @@ Available Countries .. _ISO 639-1 code: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes .. _ISO 639-2 code: https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes -We currently support 152 country codes. The standard way to refer to a country +We currently support 153 country codes. The standard way to refer to a country is by using its `ISO 3166-1 alpha-2 code`_, the same used for domain names, and for a subdivision its `ISO 3166-2 code`_. Some countries have common or foreign names or abbreviations as aliases for their subdivisions. These are defined in @@ -770,6 +770,11 @@ All other default values are highlighted with bold: - - en_US, **ru** - + * - Saint Kitts and Nevis + - KN + - + - + - HALF_DAY, WORKDAY * - Samoa - WS - diff --git a/holidays/countries/__init__.py b/holidays/countries/__init__.py index 02b7e237b..a88651ad8 100644 --- a/holidays/countries/__init__.py +++ b/holidays/countries/__init__.py @@ -130,6 +130,7 @@ from .puerto_rico import PuertoRico, PR, PRI, HolidaysPR from .romania import Romania, RO, ROU from .russia import Russia, RU, RUS +from .saint_kitts_and_nevis import SaintKittsAndNevis, KN, KNA from .samoa import Samoa, WS, WSM from .san_marino import SanMarino, SM, SMR from .saudi_arabia import SaudiArabia, SA, SAU diff --git a/holidays/countries/saint_kitts_and_nevis.py b/holidays/countries/saint_kitts_and_nevis.py new file mode 100644 index 000000000..39c110e7d --- /dev/null +++ b/holidays/countries/saint_kitts_and_nevis.py @@ -0,0 +1,183 @@ +# holidays +# -------- +# A fast, efficient Python library for generating country, province and state +# specific sets of holidays on the fly. It aims to make determining whether a +# specific date is a holiday as fast and flexible as possible. +# +# Authors: Vacanza Team and individual contributors (see AUTHORS file) +# dr-prodigy (c) 2017-2023 +# ryanss (c) 2014-2017 +# Website: https://github.com/vacanza/python-holidays +# License: MIT (see LICENSE file) + +from holidays.calendars.gregorian import FEB, MAR, APR, JUL, AUG, SEP, DEC, SUN +from holidays.constants import HALF_DAY, PUBLIC, WORKDAY +from holidays.groups import ChristianHolidays, InternationalHolidays, StaticHolidays +from holidays.observed_holiday_base import ObservedHolidayBase, SUN_TO_NEXT_MON, SUN_TO_NEXT_TUE + + +class SaintKittsAndNevis( + ObservedHolidayBase, ChristianHolidays, InternationalHolidays, StaticHolidays +): + """ + References: + - https://lawcommission.gov.kn/wp-content/documents/Revised-Acts-of-St-Kitts-and-Nevis/Revised-Acts-of-St-Kitts-and-Nevis-2009/Ch-23_23-Public-Holidays-Act.pdf + - https://web.archive.org/web/20220124000224/https://aglcskn.info/wp-content/documents/Act02and09TOC/Ch-23_23-Public-Holidays-Act.pdf + - https://en.wikipedia.org/wiki/Public_holidays_in_Saint_Kitts_and_Nevis + + Cross-Checked With: + - https://sknhcottawa.gov.kn/in-skn-national-public-holidays/ + - https://www.timeanddate.com/holidays/saint-kitts-and-nevis/ + + If Sovereign's Birthday, New Year's Day, Independence Day, or National Heroes Day + fall on a Sunday the next following Monday shall be a public holiday. + + Boxing Day—that is the day after Christmas Day, but if Christmas Day falls + on a Saturday, then the next following Monday shall be a public holiday, and if + Christmas Day falls on a Sunday, then the next following Monday and Tuesday + shall be public holidays. + + While Culturama Day (first started in 1974) and Carnival Day are never officially + included in the main Chapter 23.23 document, they're de facto added since at least + 2015 and should be considered as such. + """ + + country = "KN" + supported_categories = (HALF_DAY, PUBLIC, WORKDAY) + # %s (observed). + observed_label = "%s (observed)" + weekend = {SUN} + + def __init__(self, *args, **kwargs): + ChristianHolidays.__init__(self) + InternationalHolidays.__init__(self) + StaticHolidays.__init__(self, SaintKittsAndNevisStaticHolidays) + kwargs.setdefault("observed_rule", SUN_TO_NEXT_MON) + super().__init__(*args, **kwargs) + + def _populate_public_holidays(self): + # Public Holidays Act, Act 7 of 1983 Amendment. + if self._year <= 1982: + return None + + # Carnival Day. + self._add_observed(self._add_new_years_day("Carnival Day"), rule=SUN_TO_NEXT_TUE) + + # Carnival Day - Last Lap. + self._add_observed(self._add_new_years_day_two("Carnival Day - Last Lap")) + + # Good Friday. + self._add_good_friday("Good Friday") + + # Easter Monday. + self._add_easter_monday("Easter Monday") + + # Labour Day. + self._add_holiday_1st_mon_of_may("Labour Day") + + # While Sovereign's Birthday is officially listed in the Public Holidays Act, + # this was de facto never included in any released calendar since at least 2015. + + # Whit Monday. + self._add_whit_monday("Whit Monday") + + self._add_holiday_1st_mon_of_aug( + # Emancipation Day. + "Emancipation Day" + if self._year >= 1998 + # First Monday of August. + else "First Monday of August" + ) + + # Culturama Day - Last Lap. + self._add_holiday_1_day_past_1st_mon_of_aug("Culturama Day - Last Lap") + + if self._year >= 1998: + # National Heroes Day. + self._add_observed(self._add_holiday_sep_16("National Heroes Day")) + + # Independence Day. + self._add_observed(self._add_holiday_sep_19("Independence Day")) + + # Christmas Day. + self._add_observed(self._add_christmas_day("Christmas Day"), rule=SUN_TO_NEXT_TUE) + + # Boxing Day. + self._add_observed(self._add_christmas_day_two("Boxing Day")) + + def _populate_workday_holidays(self): + # August 25 was declared Kim Collins Day by the government of St. Kitts and Nevis + # in honour of one of the track star's most significant accomplishments, the gold + # at the World Championships in Paris, France in 2003. + if self._year >= 2003: + # Kim Collins Day. + self._add_holiday_aug_25("Kim Collins Day") + + +class KN(SaintKittsAndNevis): + pass + + +class KNA(SaintKittsAndNevis): + pass + + +class SaintKittsAndNevisStaticHolidays: + """ + References + - https://www.sknis.gov.kn/2023/07/17/state-funeral-accorded-to-sir-tapley-national-day-of-mourning-and-half-holiday-declared-for-july-20/ + - https://www.sknis.gov.kn/2022/12/30/public-holiday-notice-request-from-the-department-of-labour/ + - https://www.sknis.gov.kn/2022/08/06/prime-minister-drew-declares-monday-august-08-2022-as-a-public-holiday-in-st-kitts-and-nevis/ + - https://www.sknis.gov.kn/2022/04/20/nia-announces-half-holiday/ + - https://www.sknis.gov.kn/2021/07/26/governor-general-proclaims-tuesday-3rd-august-2021-as-a-public-holiday/ + - https://nia.gov.kn/culturama-47-rescheduled-to-independence-holiday-weekend-in-september/ + - https://www.sknis.gov.kn/2019/12/27/public-holidays-during-carnival-2019-2020/ + - https://www.sknis.gov.kn/2018/12/29/proclamations-from-his-excellency-the-governor-general-re-carnival-public-holidays/ + - https://www.sknis.gov.kn/2017/12/19/public-holiday-declared-for-nevis-today-after-the-ccms-solid-win-in-the-local-elections/ + - https://www.sknis.gov.kn/2017/04/13/employers-must-comply-with-law-for-work-performed-on-national-holidays-says-labour-department/ + - https://www.facebook.com/share/p/ZkpwKmyAzN4fEFP2/ + - https://www.facebook.com/share/p/Jc1uGgzGpj6zUzqB/ + - https://www.facebook.com/share/p/6GSgvcCWS3aenQh6/ + """ + + # Federal Election Victory Day. + federal_election_victory_day_name = "Federal Election Victory Day" + + # Children's Carnival Day. + childrens_carnival_day_name = "Children's Carnival Day" + + special_public_holidays = { + 2015: (FEB, 18, federal_election_victory_day_name), + 2017: ( + # National Clean Up Day. + (SEP, 20, "National Clean Up Day"), + # Local Election Victory Day. + (DEC, 19, "Local Election Victory Day"), + ), + 2022: (AUG, 8, federal_election_victory_day_name), + # 50th Anniversary of the Establishment of the Caribbean Community (CARICOM). + 2023: ( + JUL, + 4, + "50th Anniversary of the Establishment of the Caribbean Community (CARICOM)", + ), + } + special_half_day_holidays = { + 2017: ( + # The Passing of His Excellency Sir Probyn Inniss. + (MAR, 23, "The Passing of His Excellency Sir Probyn Inniss"), + # The Passing of His Excellency Sir Cuthbert Sebastian. + (APR, 10, "The Passing of His Excellency Sir Cuthbert Sebastian"), + ), + 2018: (DEC, 31, childrens_carnival_day_name), + 2019: (DEC, 31, childrens_carnival_day_name), + # 2022 Gulf Insurance Inter-Primary Schools Championship. + 2022: (APR, 27, "2022 Gulf Insurance Inter-Primary Schools Championship"), + 2023: ( + # The Passing of His Excellency Sir Tapley Seaton. + (JUL, 20, "The Passing of His Excellency Sir Tapley Seaton"), + (DEC, 30, childrens_carnival_day_name), + ), + # Junior Cultural Street Parade. + 2024: (AUG, 1, "Junior Cultural Street Parade"), + } diff --git a/holidays/registry.py b/holidays/registry.py index fbb3c646a..25919d8e3 100644 --- a/holidays/registry.py +++ b/holidays/registry.py @@ -137,6 +137,7 @@ "puerto_rico": ("PuertoRico", "PR", "PRI", "HolidaysPR"), "romania": ("Romania", "RO", "ROU"), "russia": ("Russia", "RU", "RUS"), + "saint_kitts_and_nevis": ("SaintKittsAndNevis", "KN", "KNA"), "samoa": ("Samoa", "WS", "WSM"), "san_marino": ("SanMarino", "SM", "SMR"), "saudi_arabia": ("SaudiArabia", "SA", "SAU"), diff --git a/snapshots/countries/KN_COMMON.json b/snapshots/countries/KN_COMMON.json new file mode 100644 index 000000000..bdaafbf1d --- /dev/null +++ b/snapshots/countries/KN_COMMON.json @@ -0,0 +1,921 @@ +{ + "1983-01-01": "Carnival Day", + "1983-01-02": "Carnival Day - Last Lap", + "1983-01-03": "Carnival Day - Last Lap (observed)", + "1983-04-01": "Good Friday", + "1983-04-04": "Easter Monday", + "1983-05-02": "Labour Day", + "1983-05-23": "Whit Monday", + "1983-08-01": "First Monday of August", + "1983-08-02": "Culturama Day - Last Lap", + "1983-09-19": "Independence Day", + "1983-12-25": "Christmas Day", + "1983-12-26": "Boxing Day", + "1983-12-27": "Christmas Day (observed)", + "1984-01-01": "Carnival Day", + "1984-01-02": "Carnival Day - Last Lap", + "1984-01-03": "Carnival Day (observed)", + "1984-04-20": "Good Friday", + "1984-04-23": "Easter Monday", + "1984-05-07": "Labour Day", + "1984-06-11": "Whit Monday", + "1984-08-06": "First Monday of August", + "1984-08-07": "Culturama Day - Last Lap", + "1984-09-19": "Independence Day", + "1984-12-25": "Christmas Day", + "1984-12-26": "Boxing Day", + "1985-01-01": "Carnival Day", + "1985-01-02": "Carnival Day - Last Lap", + "1985-04-05": "Good Friday", + "1985-04-08": "Easter Monday", + "1985-05-06": "Labour Day", + "1985-05-27": "Whit Monday", + "1985-08-05": "First Monday of August", + "1985-08-06": "Culturama Day - Last Lap", + "1985-09-19": "Independence Day", + "1985-12-25": "Christmas Day", + "1985-12-26": "Boxing Day", + "1986-01-01": "Carnival Day", + "1986-01-02": "Carnival Day - Last Lap", + "1986-03-28": "Good Friday", + "1986-03-31": "Easter Monday", + "1986-05-05": "Labour Day", + "1986-05-19": "Whit Monday", + "1986-08-04": "First Monday of August", + "1986-08-05": "Culturama Day - Last Lap", + "1986-09-19": "Independence Day", + "1986-12-25": "Christmas Day", + "1986-12-26": "Boxing Day", + "1987-01-01": "Carnival Day", + "1987-01-02": "Carnival Day - Last Lap", + "1987-04-17": "Good Friday", + "1987-04-20": "Easter Monday", + "1987-05-04": "Labour Day", + "1987-06-08": "Whit Monday", + "1987-08-03": "First Monday of August", + "1987-08-04": "Culturama Day - Last Lap", + "1987-09-19": "Independence Day", + "1987-12-25": "Christmas Day", + "1987-12-26": "Boxing Day", + "1988-01-01": "Carnival Day", + "1988-01-02": "Carnival Day - Last Lap", + "1988-04-01": "Good Friday", + "1988-04-04": "Easter Monday", + "1988-05-02": "Labour Day", + "1988-05-23": "Whit Monday", + "1988-08-01": "First Monday of August", + "1988-08-02": "Culturama Day - Last Lap", + "1988-09-19": "Independence Day", + "1988-12-25": "Christmas Day", + "1988-12-26": "Boxing Day", + "1988-12-27": "Christmas Day (observed)", + "1989-01-01": "Carnival Day", + "1989-01-02": "Carnival Day - Last Lap", + "1989-01-03": "Carnival Day (observed)", + "1989-03-24": "Good Friday", + "1989-03-27": "Easter Monday", + "1989-05-01": "Labour Day", + "1989-05-15": "Whit Monday", + "1989-08-07": "First Monday of August", + "1989-08-08": "Culturama Day - Last Lap", + "1989-09-19": "Independence Day", + "1989-12-25": "Christmas Day", + "1989-12-26": "Boxing Day", + "1990-01-01": "Carnival Day", + "1990-01-02": "Carnival Day - Last Lap", + "1990-04-13": "Good Friday", + "1990-04-16": "Easter Monday", + "1990-05-07": "Labour Day", + "1990-06-04": "Whit Monday", + "1990-08-06": "First Monday of August", + "1990-08-07": "Culturama Day - Last Lap", + "1990-09-19": "Independence Day", + "1990-12-25": "Christmas Day", + "1990-12-26": "Boxing Day", + "1991-01-01": "Carnival Day", + "1991-01-02": "Carnival Day - Last Lap", + "1991-03-29": "Good Friday", + "1991-04-01": "Easter Monday", + "1991-05-06": "Labour Day", + "1991-05-20": "Whit Monday", + "1991-08-05": "First Monday of August", + "1991-08-06": "Culturama Day - Last Lap", + "1991-09-19": "Independence Day", + "1991-12-25": "Christmas Day", + "1991-12-26": "Boxing Day", + "1992-01-01": "Carnival Day", + "1992-01-02": "Carnival Day - Last Lap", + "1992-04-17": "Good Friday", + "1992-04-20": "Easter Monday", + "1992-05-04": "Labour Day", + "1992-06-08": "Whit Monday", + "1992-08-03": "First Monday of August", + "1992-08-04": "Culturama Day - Last Lap", + "1992-09-19": "Independence Day", + "1992-12-25": "Christmas Day", + "1992-12-26": "Boxing Day", + "1993-01-01": "Carnival Day", + "1993-01-02": "Carnival Day - Last Lap", + "1993-04-09": "Good Friday", + "1993-04-12": "Easter Monday", + "1993-05-03": "Labour Day", + "1993-05-31": "Whit Monday", + "1993-08-02": "First Monday of August", + "1993-08-03": "Culturama Day - Last Lap", + "1993-09-19": "Independence Day", + "1993-09-20": "Independence Day (observed)", + "1993-12-25": "Christmas Day", + "1993-12-26": "Boxing Day", + "1993-12-27": "Boxing Day (observed)", + "1994-01-01": "Carnival Day", + "1994-01-02": "Carnival Day - Last Lap", + "1994-01-03": "Carnival Day - Last Lap (observed)", + "1994-04-01": "Good Friday", + "1994-04-04": "Easter Monday", + "1994-05-02": "Labour Day", + "1994-05-23": "Whit Monday", + "1994-08-01": "First Monday of August", + "1994-08-02": "Culturama Day - Last Lap", + "1994-09-19": "Independence Day", + "1994-12-25": "Christmas Day", + "1994-12-26": "Boxing Day", + "1994-12-27": "Christmas Day (observed)", + "1995-01-01": "Carnival Day", + "1995-01-02": "Carnival Day - Last Lap", + "1995-01-03": "Carnival Day (observed)", + "1995-04-14": "Good Friday", + "1995-04-17": "Easter Monday", + "1995-05-01": "Labour Day", + "1995-06-05": "Whit Monday", + "1995-08-07": "First Monday of August", + "1995-08-08": "Culturama Day - Last Lap", + "1995-09-19": "Independence Day", + "1995-12-25": "Christmas Day", + "1995-12-26": "Boxing Day", + "1996-01-01": "Carnival Day", + "1996-01-02": "Carnival Day - Last Lap", + "1996-04-05": "Good Friday", + "1996-04-08": "Easter Monday", + "1996-05-06": "Labour Day", + "1996-05-27": "Whit Monday", + "1996-08-05": "First Monday of August", + "1996-08-06": "Culturama Day - Last Lap", + "1996-09-19": "Independence Day", + "1996-12-25": "Christmas Day", + "1996-12-26": "Boxing Day", + "1997-01-01": "Carnival Day", + "1997-01-02": "Carnival Day - Last Lap", + "1997-03-28": "Good Friday", + "1997-03-31": "Easter Monday", + "1997-05-05": "Labour Day", + "1997-05-19": "Whit Monday", + "1997-08-04": "First Monday of August", + "1997-08-05": "Culturama Day - Last Lap", + "1997-09-19": "Independence Day", + "1997-12-25": "Christmas Day", + "1997-12-26": "Boxing Day", + "1998-01-01": "Carnival Day", + "1998-01-02": "Carnival Day - Last Lap", + "1998-04-10": "Good Friday", + "1998-04-13": "Easter Monday", + "1998-05-04": "Labour Day", + "1998-06-01": "Whit Monday", + "1998-08-03": "Emancipation Day", + "1998-08-04": "Culturama Day - Last Lap", + "1998-09-16": "National Heroes Day", + "1998-09-19": "Independence Day", + "1998-12-25": "Christmas Day", + "1998-12-26": "Boxing Day", + "1999-01-01": "Carnival Day", + "1999-01-02": "Carnival Day - Last Lap", + "1999-04-02": "Good Friday", + "1999-04-05": "Easter Monday", + "1999-05-03": "Labour Day", + "1999-05-24": "Whit Monday", + "1999-08-02": "Emancipation Day", + "1999-08-03": "Culturama Day - Last Lap", + "1999-09-16": "National Heroes Day", + "1999-09-19": "Independence Day", + "1999-09-20": "Independence Day (observed)", + "1999-12-25": "Christmas Day", + "1999-12-26": "Boxing Day", + "1999-12-27": "Boxing Day (observed)", + "2000-01-01": "Carnival Day", + "2000-01-02": "Carnival Day - Last Lap", + "2000-01-03": "Carnival Day - Last Lap (observed)", + "2000-04-21": "Good Friday", + "2000-04-24": "Easter Monday", + "2000-05-01": "Labour Day", + "2000-06-12": "Whit Monday", + "2000-08-07": "Emancipation Day", + "2000-08-08": "Culturama Day - Last Lap", + "2000-09-16": "National Heroes Day", + "2000-09-19": "Independence Day", + "2000-12-25": "Christmas Day", + "2000-12-26": "Boxing Day", + "2001-01-01": "Carnival Day", + "2001-01-02": "Carnival Day - Last Lap", + "2001-04-13": "Good Friday", + "2001-04-16": "Easter Monday", + "2001-05-07": "Labour Day", + "2001-06-04": "Whit Monday", + "2001-08-06": "Emancipation Day", + "2001-08-07": "Culturama Day - Last Lap", + "2001-09-16": "National Heroes Day", + "2001-09-17": "National Heroes Day (observed)", + "2001-09-19": "Independence Day", + "2001-12-25": "Christmas Day", + "2001-12-26": "Boxing Day", + "2002-01-01": "Carnival Day", + "2002-01-02": "Carnival Day - Last Lap", + "2002-03-29": "Good Friday", + "2002-04-01": "Easter Monday", + "2002-05-06": "Labour Day", + "2002-05-20": "Whit Monday", + "2002-08-05": "Emancipation Day", + "2002-08-06": "Culturama Day - Last Lap", + "2002-09-16": "National Heroes Day", + "2002-09-19": "Independence Day", + "2002-12-25": "Christmas Day", + "2002-12-26": "Boxing Day", + "2003-01-01": "Carnival Day", + "2003-01-02": "Carnival Day - Last Lap", + "2003-04-18": "Good Friday", + "2003-04-21": "Easter Monday", + "2003-05-05": "Labour Day", + "2003-06-09": "Whit Monday", + "2003-08-04": "Emancipation Day", + "2003-08-05": "Culturama Day - Last Lap", + "2003-08-25": "Kim Collins Day", + "2003-09-16": "National Heroes Day", + "2003-09-19": "Independence Day", + "2003-12-25": "Christmas Day", + "2003-12-26": "Boxing Day", + "2004-01-01": "Carnival Day", + "2004-01-02": "Carnival Day - Last Lap", + "2004-04-09": "Good Friday", + "2004-04-12": "Easter Monday", + "2004-05-03": "Labour Day", + "2004-05-31": "Whit Monday", + "2004-08-02": "Emancipation Day", + "2004-08-03": "Culturama Day - Last Lap", + "2004-08-25": "Kim Collins Day", + "2004-09-16": "National Heroes Day", + "2004-09-19": "Independence Day", + "2004-09-20": "Independence Day (observed)", + "2004-12-25": "Christmas Day", + "2004-12-26": "Boxing Day", + "2004-12-27": "Boxing Day (observed)", + "2005-01-01": "Carnival Day", + "2005-01-02": "Carnival Day - Last Lap", + "2005-01-03": "Carnival Day - Last Lap (observed)", + "2005-03-25": "Good Friday", + "2005-03-28": "Easter Monday", + "2005-05-02": "Labour Day", + "2005-05-16": "Whit Monday", + "2005-08-01": "Emancipation Day", + "2005-08-02": "Culturama Day - Last Lap", + "2005-08-25": "Kim Collins Day", + "2005-09-16": "National Heroes Day", + "2005-09-19": "Independence Day", + "2005-12-25": "Christmas Day", + "2005-12-26": "Boxing Day", + "2005-12-27": "Christmas Day (observed)", + "2006-01-01": "Carnival Day", + "2006-01-02": "Carnival Day - Last Lap", + "2006-01-03": "Carnival Day (observed)", + "2006-04-14": "Good Friday", + "2006-04-17": "Easter Monday", + "2006-05-01": "Labour Day", + "2006-06-05": "Whit Monday", + "2006-08-07": "Emancipation Day", + "2006-08-08": "Culturama Day - Last Lap", + "2006-08-25": "Kim Collins Day", + "2006-09-16": "National Heroes Day", + "2006-09-19": "Independence Day", + "2006-12-25": "Christmas Day", + "2006-12-26": "Boxing Day", + "2007-01-01": "Carnival Day", + "2007-01-02": "Carnival Day - Last Lap", + "2007-04-06": "Good Friday", + "2007-04-09": "Easter Monday", + "2007-05-07": "Labour Day", + "2007-05-28": "Whit Monday", + "2007-08-06": "Emancipation Day", + "2007-08-07": "Culturama Day - Last Lap", + "2007-08-25": "Kim Collins Day", + "2007-09-16": "National Heroes Day", + "2007-09-17": "National Heroes Day (observed)", + "2007-09-19": "Independence Day", + "2007-12-25": "Christmas Day", + "2007-12-26": "Boxing Day", + "2008-01-01": "Carnival Day", + "2008-01-02": "Carnival Day - Last Lap", + "2008-03-21": "Good Friday", + "2008-03-24": "Easter Monday", + "2008-05-05": "Labour Day", + "2008-05-12": "Whit Monday", + "2008-08-04": "Emancipation Day", + "2008-08-05": "Culturama Day - Last Lap", + "2008-08-25": "Kim Collins Day", + "2008-09-16": "National Heroes Day", + "2008-09-19": "Independence Day", + "2008-12-25": "Christmas Day", + "2008-12-26": "Boxing Day", + "2009-01-01": "Carnival Day", + "2009-01-02": "Carnival Day - Last Lap", + "2009-04-10": "Good Friday", + "2009-04-13": "Easter Monday", + "2009-05-04": "Labour Day", + "2009-06-01": "Whit Monday", + "2009-08-03": "Emancipation Day", + "2009-08-04": "Culturama Day - Last Lap", + "2009-08-25": "Kim Collins Day", + "2009-09-16": "National Heroes Day", + "2009-09-19": "Independence Day", + "2009-12-25": "Christmas Day", + "2009-12-26": "Boxing Day", + "2010-01-01": "Carnival Day", + "2010-01-02": "Carnival Day - Last Lap", + "2010-04-02": "Good Friday", + "2010-04-05": "Easter Monday", + "2010-05-03": "Labour Day", + "2010-05-24": "Whit Monday", + "2010-08-02": "Emancipation Day", + "2010-08-03": "Culturama Day - Last Lap", + "2010-08-25": "Kim Collins Day", + "2010-09-16": "National Heroes Day", + "2010-09-19": "Independence Day", + "2010-09-20": "Independence Day (observed)", + "2010-12-25": "Christmas Day", + "2010-12-26": "Boxing Day", + "2010-12-27": "Boxing Day (observed)", + "2011-01-01": "Carnival Day", + "2011-01-02": "Carnival Day - Last Lap", + "2011-01-03": "Carnival Day - Last Lap (observed)", + "2011-04-22": "Good Friday", + "2011-04-25": "Easter Monday", + "2011-05-02": "Labour Day", + "2011-06-13": "Whit Monday", + "2011-08-01": "Emancipation Day", + "2011-08-02": "Culturama Day - Last Lap", + "2011-08-25": "Kim Collins Day", + "2011-09-16": "National Heroes Day", + "2011-09-19": "Independence Day", + "2011-12-25": "Christmas Day", + "2011-12-26": "Boxing Day", + "2011-12-27": "Christmas Day (observed)", + "2012-01-01": "Carnival Day", + "2012-01-02": "Carnival Day - Last Lap", + "2012-01-03": "Carnival Day (observed)", + "2012-04-06": "Good Friday", + "2012-04-09": "Easter Monday", + "2012-05-07": "Labour Day", + "2012-05-28": "Whit Monday", + "2012-08-06": "Emancipation Day", + "2012-08-07": "Culturama Day - Last Lap", + "2012-08-25": "Kim Collins Day", + "2012-09-16": "National Heroes Day", + "2012-09-17": "National Heroes Day (observed)", + "2012-09-19": "Independence Day", + "2012-12-25": "Christmas Day", + "2012-12-26": "Boxing Day", + "2013-01-01": "Carnival Day", + "2013-01-02": "Carnival Day - Last Lap", + "2013-03-29": "Good Friday", + "2013-04-01": "Easter Monday", + "2013-05-06": "Labour Day", + "2013-05-20": "Whit Monday", + "2013-08-05": "Emancipation Day", + "2013-08-06": "Culturama Day - Last Lap", + "2013-08-25": "Kim Collins Day", + "2013-09-16": "National Heroes Day", + "2013-09-19": "Independence Day", + "2013-12-25": "Christmas Day", + "2013-12-26": "Boxing Day", + "2014-01-01": "Carnival Day", + "2014-01-02": "Carnival Day - Last Lap", + "2014-04-18": "Good Friday", + "2014-04-21": "Easter Monday", + "2014-05-05": "Labour Day", + "2014-06-09": "Whit Monday", + "2014-08-04": "Emancipation Day", + "2014-08-05": "Culturama Day - Last Lap", + "2014-08-25": "Kim Collins Day", + "2014-09-16": "National Heroes Day", + "2014-09-19": "Independence Day", + "2014-12-25": "Christmas Day", + "2014-12-26": "Boxing Day", + "2015-01-01": "Carnival Day", + "2015-01-02": "Carnival Day - Last Lap", + "2015-02-18": "Federal Election Victory Day", + "2015-04-03": "Good Friday", + "2015-04-06": "Easter Monday", + "2015-05-04": "Labour Day", + "2015-05-25": "Whit Monday", + "2015-08-03": "Emancipation Day", + "2015-08-04": "Culturama Day - Last Lap", + "2015-08-25": "Kim Collins Day", + "2015-09-16": "National Heroes Day", + "2015-09-19": "Independence Day", + "2015-12-25": "Christmas Day", + "2015-12-26": "Boxing Day", + "2016-01-01": "Carnival Day", + "2016-01-02": "Carnival Day - Last Lap", + "2016-03-25": "Good Friday", + "2016-03-28": "Easter Monday", + "2016-05-02": "Labour Day", + "2016-05-16": "Whit Monday", + "2016-08-01": "Emancipation Day", + "2016-08-02": "Culturama Day - Last Lap", + "2016-08-25": "Kim Collins Day", + "2016-09-16": "National Heroes Day", + "2016-09-19": "Independence Day", + "2016-12-25": "Christmas Day", + "2016-12-26": "Boxing Day", + "2016-12-27": "Christmas Day (observed)", + "2017-01-01": "Carnival Day", + "2017-01-02": "Carnival Day - Last Lap", + "2017-01-03": "Carnival Day (observed)", + "2017-03-23": "The Passing of His Excellency Sir Probyn Inniss", + "2017-04-10": "The Passing of His Excellency Sir Cuthbert Sebastian", + "2017-04-14": "Good Friday", + "2017-04-17": "Easter Monday", + "2017-05-01": "Labour Day", + "2017-06-05": "Whit Monday", + "2017-08-07": "Emancipation Day", + "2017-08-08": "Culturama Day - Last Lap", + "2017-08-25": "Kim Collins Day", + "2017-09-16": "National Heroes Day", + "2017-09-19": "Independence Day", + "2017-09-20": "National Clean Up Day", + "2017-12-19": "Local Election Victory Day", + "2017-12-25": "Christmas Day", + "2017-12-26": "Boxing Day", + "2018-01-01": "Carnival Day", + "2018-01-02": "Carnival Day - Last Lap", + "2018-03-30": "Good Friday", + "2018-04-02": "Easter Monday", + "2018-05-07": "Labour Day", + "2018-05-21": "Whit Monday", + "2018-08-06": "Emancipation Day", + "2018-08-07": "Culturama Day - Last Lap", + "2018-08-25": "Kim Collins Day", + "2018-09-16": "National Heroes Day", + "2018-09-17": "National Heroes Day (observed)", + "2018-09-19": "Independence Day", + "2018-12-25": "Christmas Day", + "2018-12-26": "Boxing Day", + "2018-12-31": "Children's Carnival Day", + "2019-01-01": "Carnival Day", + "2019-01-02": "Carnival Day - Last Lap", + "2019-04-19": "Good Friday", + "2019-04-22": "Easter Monday", + "2019-05-06": "Labour Day", + "2019-06-10": "Whit Monday", + "2019-08-05": "Emancipation Day", + "2019-08-06": "Culturama Day - Last Lap", + "2019-08-25": "Kim Collins Day", + "2019-09-16": "National Heroes Day", + "2019-09-19": "Independence Day", + "2019-12-25": "Christmas Day", + "2019-12-26": "Boxing Day", + "2019-12-31": "Children's Carnival Day", + "2020-01-01": "Carnival Day", + "2020-01-02": "Carnival Day - Last Lap", + "2020-04-10": "Good Friday", + "2020-04-13": "Easter Monday", + "2020-05-04": "Labour Day", + "2020-06-01": "Whit Monday", + "2020-08-03": "Emancipation Day", + "2020-08-04": "Culturama Day - Last Lap", + "2020-08-25": "Kim Collins Day", + "2020-09-16": "National Heroes Day", + "2020-09-19": "Independence Day", + "2020-12-25": "Christmas Day", + "2020-12-26": "Boxing Day", + "2021-01-01": "Carnival Day", + "2021-01-02": "Carnival Day - Last Lap", + "2021-04-02": "Good Friday", + "2021-04-05": "Easter Monday", + "2021-05-03": "Labour Day", + "2021-05-24": "Whit Monday", + "2021-08-02": "Emancipation Day", + "2021-08-03": "Culturama Day - Last Lap", + "2021-08-25": "Kim Collins Day", + "2021-09-16": "National Heroes Day", + "2021-09-19": "Independence Day", + "2021-09-20": "Independence Day (observed)", + "2021-12-25": "Christmas Day", + "2021-12-26": "Boxing Day", + "2021-12-27": "Boxing Day (observed)", + "2022-01-01": "Carnival Day", + "2022-01-02": "Carnival Day - Last Lap", + "2022-01-03": "Carnival Day - Last Lap (observed)", + "2022-04-15": "Good Friday", + "2022-04-18": "Easter Monday", + "2022-04-27": "2022 Gulf Insurance Inter-Primary Schools Championship", + "2022-05-02": "Labour Day", + "2022-06-06": "Whit Monday", + "2022-08-01": "Emancipation Day", + "2022-08-02": "Culturama Day - Last Lap", + "2022-08-08": "Federal Election Victory Day", + "2022-08-25": "Kim Collins Day", + "2022-09-16": "National Heroes Day", + "2022-09-19": "Independence Day", + "2022-12-25": "Christmas Day", + "2022-12-26": "Boxing Day", + "2022-12-27": "Christmas Day (observed)", + "2023-01-01": "Carnival Day", + "2023-01-02": "Carnival Day - Last Lap", + "2023-01-03": "Carnival Day (observed)", + "2023-04-07": "Good Friday", + "2023-04-10": "Easter Monday", + "2023-05-01": "Labour Day", + "2023-05-29": "Whit Monday", + "2023-07-04": "50th Anniversary of the Establishment of the Caribbean Community (CARICOM)", + "2023-07-20": "The Passing of His Excellency Sir Tapley Seaton", + "2023-08-07": "Emancipation Day", + "2023-08-08": "Culturama Day - Last Lap", + "2023-08-25": "Kim Collins Day", + "2023-09-16": "National Heroes Day", + "2023-09-19": "Independence Day", + "2023-12-25": "Christmas Day", + "2023-12-26": "Boxing Day", + "2023-12-30": "Children's Carnival Day", + "2024-01-01": "Carnival Day", + "2024-01-02": "Carnival Day - Last Lap", + "2024-03-29": "Good Friday", + "2024-04-01": "Easter Monday", + "2024-05-06": "Labour Day", + "2024-05-20": "Whit Monday", + "2024-08-01": "Junior Cultural Street Parade", + "2024-08-05": "Emancipation Day", + "2024-08-06": "Culturama Day - Last Lap", + "2024-08-25": "Kim Collins Day", + "2024-09-16": "National Heroes Day", + "2024-09-19": "Independence Day", + "2024-12-25": "Christmas Day", + "2024-12-26": "Boxing Day", + "2025-01-01": "Carnival Day", + "2025-01-02": "Carnival Day - Last Lap", + "2025-04-18": "Good Friday", + "2025-04-21": "Easter Monday", + "2025-05-05": "Labour Day", + "2025-06-09": "Whit Monday", + "2025-08-04": "Emancipation Day", + "2025-08-05": "Culturama Day - Last Lap", + "2025-08-25": "Kim Collins Day", + "2025-09-16": "National Heroes Day", + "2025-09-19": "Independence Day", + "2025-12-25": "Christmas Day", + "2025-12-26": "Boxing Day", + "2026-01-01": "Carnival Day", + "2026-01-02": "Carnival Day - Last Lap", + "2026-04-03": "Good Friday", + "2026-04-06": "Easter Monday", + "2026-05-04": "Labour Day", + "2026-05-25": "Whit Monday", + "2026-08-03": "Emancipation Day", + "2026-08-04": "Culturama Day - Last Lap", + "2026-08-25": "Kim Collins Day", + "2026-09-16": "National Heroes Day", + "2026-09-19": "Independence Day", + "2026-12-25": "Christmas Day", + "2026-12-26": "Boxing Day", + "2027-01-01": "Carnival Day", + "2027-01-02": "Carnival Day - Last Lap", + "2027-03-26": "Good Friday", + "2027-03-29": "Easter Monday", + "2027-05-03": "Labour Day", + "2027-05-17": "Whit Monday", + "2027-08-02": "Emancipation Day", + "2027-08-03": "Culturama Day - Last Lap", + "2027-08-25": "Kim Collins Day", + "2027-09-16": "National Heroes Day", + "2027-09-19": "Independence Day", + "2027-09-20": "Independence Day (observed)", + "2027-12-25": "Christmas Day", + "2027-12-26": "Boxing Day", + "2027-12-27": "Boxing Day (observed)", + "2028-01-01": "Carnival Day", + "2028-01-02": "Carnival Day - Last Lap", + "2028-01-03": "Carnival Day - Last Lap (observed)", + "2028-04-14": "Good Friday", + "2028-04-17": "Easter Monday", + "2028-05-01": "Labour Day", + "2028-06-05": "Whit Monday", + "2028-08-07": "Emancipation Day", + "2028-08-08": "Culturama Day - Last Lap", + "2028-08-25": "Kim Collins Day", + "2028-09-16": "National Heroes Day", + "2028-09-19": "Independence Day", + "2028-12-25": "Christmas Day", + "2028-12-26": "Boxing Day", + "2029-01-01": "Carnival Day", + "2029-01-02": "Carnival Day - Last Lap", + "2029-03-30": "Good Friday", + "2029-04-02": "Easter Monday", + "2029-05-07": "Labour Day", + "2029-05-21": "Whit Monday", + "2029-08-06": "Emancipation Day", + "2029-08-07": "Culturama Day - Last Lap", + "2029-08-25": "Kim Collins Day", + "2029-09-16": "National Heroes Day", + "2029-09-17": "National Heroes Day (observed)", + "2029-09-19": "Independence Day", + "2029-12-25": "Christmas Day", + "2029-12-26": "Boxing Day", + "2030-01-01": "Carnival Day", + "2030-01-02": "Carnival Day - Last Lap", + "2030-04-19": "Good Friday", + "2030-04-22": "Easter Monday", + "2030-05-06": "Labour Day", + "2030-06-10": "Whit Monday", + "2030-08-05": "Emancipation Day", + "2030-08-06": "Culturama Day - Last Lap", + "2030-08-25": "Kim Collins Day", + "2030-09-16": "National Heroes Day", + "2030-09-19": "Independence Day", + "2030-12-25": "Christmas Day", + "2030-12-26": "Boxing Day", + "2031-01-01": "Carnival Day", + "2031-01-02": "Carnival Day - Last Lap", + "2031-04-11": "Good Friday", + "2031-04-14": "Easter Monday", + "2031-05-05": "Labour Day", + "2031-06-02": "Whit Monday", + "2031-08-04": "Emancipation Day", + "2031-08-05": "Culturama Day - Last Lap", + "2031-08-25": "Kim Collins Day", + "2031-09-16": "National Heroes Day", + "2031-09-19": "Independence Day", + "2031-12-25": "Christmas Day", + "2031-12-26": "Boxing Day", + "2032-01-01": "Carnival Day", + "2032-01-02": "Carnival Day - Last Lap", + "2032-03-26": "Good Friday", + "2032-03-29": "Easter Monday", + "2032-05-03": "Labour Day", + "2032-05-17": "Whit Monday", + "2032-08-02": "Emancipation Day", + "2032-08-03": "Culturama Day - Last Lap", + "2032-08-25": "Kim Collins Day", + "2032-09-16": "National Heroes Day", + "2032-09-19": "Independence Day", + "2032-09-20": "Independence Day (observed)", + "2032-12-25": "Christmas Day", + "2032-12-26": "Boxing Day", + "2032-12-27": "Boxing Day (observed)", + "2033-01-01": "Carnival Day", + "2033-01-02": "Carnival Day - Last Lap", + "2033-01-03": "Carnival Day - Last Lap (observed)", + "2033-04-15": "Good Friday", + "2033-04-18": "Easter Monday", + "2033-05-02": "Labour Day", + "2033-06-06": "Whit Monday", + "2033-08-01": "Emancipation Day", + "2033-08-02": "Culturama Day - Last Lap", + "2033-08-25": "Kim Collins Day", + "2033-09-16": "National Heroes Day", + "2033-09-19": "Independence Day", + "2033-12-25": "Christmas Day", + "2033-12-26": "Boxing Day", + "2033-12-27": "Christmas Day (observed)", + "2034-01-01": "Carnival Day", + "2034-01-02": "Carnival Day - Last Lap", + "2034-01-03": "Carnival Day (observed)", + "2034-04-07": "Good Friday", + "2034-04-10": "Easter Monday", + "2034-05-01": "Labour Day", + "2034-05-29": "Whit Monday", + "2034-08-07": "Emancipation Day", + "2034-08-08": "Culturama Day - Last Lap", + "2034-08-25": "Kim Collins Day", + "2034-09-16": "National Heroes Day", + "2034-09-19": "Independence Day", + "2034-12-25": "Christmas Day", + "2034-12-26": "Boxing Day", + "2035-01-01": "Carnival Day", + "2035-01-02": "Carnival Day - Last Lap", + "2035-03-23": "Good Friday", + "2035-03-26": "Easter Monday", + "2035-05-07": "Labour Day", + "2035-05-14": "Whit Monday", + "2035-08-06": "Emancipation Day", + "2035-08-07": "Culturama Day - Last Lap", + "2035-08-25": "Kim Collins Day", + "2035-09-16": "National Heroes Day", + "2035-09-17": "National Heroes Day (observed)", + "2035-09-19": "Independence Day", + "2035-12-25": "Christmas Day", + "2035-12-26": "Boxing Day", + "2036-01-01": "Carnival Day", + "2036-01-02": "Carnival Day - Last Lap", + "2036-04-11": "Good Friday", + "2036-04-14": "Easter Monday", + "2036-05-05": "Labour Day", + "2036-06-02": "Whit Monday", + "2036-08-04": "Emancipation Day", + "2036-08-05": "Culturama Day - Last Lap", + "2036-08-25": "Kim Collins Day", + "2036-09-16": "National Heroes Day", + "2036-09-19": "Independence Day", + "2036-12-25": "Christmas Day", + "2036-12-26": "Boxing Day", + "2037-01-01": "Carnival Day", + "2037-01-02": "Carnival Day - Last Lap", + "2037-04-03": "Good Friday", + "2037-04-06": "Easter Monday", + "2037-05-04": "Labour Day", + "2037-05-25": "Whit Monday", + "2037-08-03": "Emancipation Day", + "2037-08-04": "Culturama Day - Last Lap", + "2037-08-25": "Kim Collins Day", + "2037-09-16": "National Heroes Day", + "2037-09-19": "Independence Day", + "2037-12-25": "Christmas Day", + "2037-12-26": "Boxing Day", + "2038-01-01": "Carnival Day", + "2038-01-02": "Carnival Day - Last Lap", + "2038-04-23": "Good Friday", + "2038-04-26": "Easter Monday", + "2038-05-03": "Labour Day", + "2038-06-14": "Whit Monday", + "2038-08-02": "Emancipation Day", + "2038-08-03": "Culturama Day - Last Lap", + "2038-08-25": "Kim Collins Day", + "2038-09-16": "National Heroes Day", + "2038-09-19": "Independence Day", + "2038-09-20": "Independence Day (observed)", + "2038-12-25": "Christmas Day", + "2038-12-26": "Boxing Day", + "2038-12-27": "Boxing Day (observed)", + "2039-01-01": "Carnival Day", + "2039-01-02": "Carnival Day - Last Lap", + "2039-01-03": "Carnival Day - Last Lap (observed)", + "2039-04-08": "Good Friday", + "2039-04-11": "Easter Monday", + "2039-05-02": "Labour Day", + "2039-05-30": "Whit Monday", + "2039-08-01": "Emancipation Day", + "2039-08-02": "Culturama Day - Last Lap", + "2039-08-25": "Kim Collins Day", + "2039-09-16": "National Heroes Day", + "2039-09-19": "Independence Day", + "2039-12-25": "Christmas Day", + "2039-12-26": "Boxing Day", + "2039-12-27": "Christmas Day (observed)", + "2040-01-01": "Carnival Day", + "2040-01-02": "Carnival Day - Last Lap", + "2040-01-03": "Carnival Day (observed)", + "2040-03-30": "Good Friday", + "2040-04-02": "Easter Monday", + "2040-05-07": "Labour Day", + "2040-05-21": "Whit Monday", + "2040-08-06": "Emancipation Day", + "2040-08-07": "Culturama Day - Last Lap", + "2040-08-25": "Kim Collins Day", + "2040-09-16": "National Heroes Day", + "2040-09-17": "National Heroes Day (observed)", + "2040-09-19": "Independence Day", + "2040-12-25": "Christmas Day", + "2040-12-26": "Boxing Day", + "2041-01-01": "Carnival Day", + "2041-01-02": "Carnival Day - Last Lap", + "2041-04-19": "Good Friday", + "2041-04-22": "Easter Monday", + "2041-05-06": "Labour Day", + "2041-06-10": "Whit Monday", + "2041-08-05": "Emancipation Day", + "2041-08-06": "Culturama Day - Last Lap", + "2041-08-25": "Kim Collins Day", + "2041-09-16": "National Heroes Day", + "2041-09-19": "Independence Day", + "2041-12-25": "Christmas Day", + "2041-12-26": "Boxing Day", + "2042-01-01": "Carnival Day", + "2042-01-02": "Carnival Day - Last Lap", + "2042-04-04": "Good Friday", + "2042-04-07": "Easter Monday", + "2042-05-05": "Labour Day", + "2042-05-26": "Whit Monday", + "2042-08-04": "Emancipation Day", + "2042-08-05": "Culturama Day - Last Lap", + "2042-08-25": "Kim Collins Day", + "2042-09-16": "National Heroes Day", + "2042-09-19": "Independence Day", + "2042-12-25": "Christmas Day", + "2042-12-26": "Boxing Day", + "2043-01-01": "Carnival Day", + "2043-01-02": "Carnival Day - Last Lap", + "2043-03-27": "Good Friday", + "2043-03-30": "Easter Monday", + "2043-05-04": "Labour Day", + "2043-05-18": "Whit Monday", + "2043-08-03": "Emancipation Day", + "2043-08-04": "Culturama Day - Last Lap", + "2043-08-25": "Kim Collins Day", + "2043-09-16": "National Heroes Day", + "2043-09-19": "Independence Day", + "2043-12-25": "Christmas Day", + "2043-12-26": "Boxing Day", + "2044-01-01": "Carnival Day", + "2044-01-02": "Carnival Day - Last Lap", + "2044-04-15": "Good Friday", + "2044-04-18": "Easter Monday", + "2044-05-02": "Labour Day", + "2044-06-06": "Whit Monday", + "2044-08-01": "Emancipation Day", + "2044-08-02": "Culturama Day - Last Lap", + "2044-08-25": "Kim Collins Day", + "2044-09-16": "National Heroes Day", + "2044-09-19": "Independence Day", + "2044-12-25": "Christmas Day", + "2044-12-26": "Boxing Day", + "2044-12-27": "Christmas Day (observed)", + "2045-01-01": "Carnival Day", + "2045-01-02": "Carnival Day - Last Lap", + "2045-01-03": "Carnival Day (observed)", + "2045-04-07": "Good Friday", + "2045-04-10": "Easter Monday", + "2045-05-01": "Labour Day", + "2045-05-29": "Whit Monday", + "2045-08-07": "Emancipation Day", + "2045-08-08": "Culturama Day - Last Lap", + "2045-08-25": "Kim Collins Day", + "2045-09-16": "National Heroes Day", + "2045-09-19": "Independence Day", + "2045-12-25": "Christmas Day", + "2045-12-26": "Boxing Day", + "2046-01-01": "Carnival Day", + "2046-01-02": "Carnival Day - Last Lap", + "2046-03-23": "Good Friday", + "2046-03-26": "Easter Monday", + "2046-05-07": "Labour Day", + "2046-05-14": "Whit Monday", + "2046-08-06": "Emancipation Day", + "2046-08-07": "Culturama Day - Last Lap", + "2046-08-25": "Kim Collins Day", + "2046-09-16": "National Heroes Day", + "2046-09-17": "National Heroes Day (observed)", + "2046-09-19": "Independence Day", + "2046-12-25": "Christmas Day", + "2046-12-26": "Boxing Day", + "2047-01-01": "Carnival Day", + "2047-01-02": "Carnival Day - Last Lap", + "2047-04-12": "Good Friday", + "2047-04-15": "Easter Monday", + "2047-05-06": "Labour Day", + "2047-06-03": "Whit Monday", + "2047-08-05": "Emancipation Day", + "2047-08-06": "Culturama Day - Last Lap", + "2047-08-25": "Kim Collins Day", + "2047-09-16": "National Heroes Day", + "2047-09-19": "Independence Day", + "2047-12-25": "Christmas Day", + "2047-12-26": "Boxing Day", + "2048-01-01": "Carnival Day", + "2048-01-02": "Carnival Day - Last Lap", + "2048-04-03": "Good Friday", + "2048-04-06": "Easter Monday", + "2048-05-04": "Labour Day", + "2048-05-25": "Whit Monday", + "2048-08-03": "Emancipation Day", + "2048-08-04": "Culturama Day - Last Lap", + "2048-08-25": "Kim Collins Day", + "2048-09-16": "National Heroes Day", + "2048-09-19": "Independence Day", + "2048-12-25": "Christmas Day", + "2048-12-26": "Boxing Day", + "2049-01-01": "Carnival Day", + "2049-01-02": "Carnival Day - Last Lap", + "2049-04-16": "Good Friday", + "2049-04-19": "Easter Monday", + "2049-05-03": "Labour Day", + "2049-06-07": "Whit Monday", + "2049-08-02": "Emancipation Day", + "2049-08-03": "Culturama Day - Last Lap", + "2049-08-25": "Kim Collins Day", + "2049-09-16": "National Heroes Day", + "2049-09-19": "Independence Day", + "2049-09-20": "Independence Day (observed)", + "2049-12-25": "Christmas Day", + "2049-12-26": "Boxing Day", + "2049-12-27": "Boxing Day (observed)", + "2050-01-01": "Carnival Day", + "2050-01-02": "Carnival Day - Last Lap", + "2050-01-03": "Carnival Day - Last Lap (observed)", + "2050-04-08": "Good Friday", + "2050-04-11": "Easter Monday", + "2050-05-02": "Labour Day", + "2050-05-30": "Whit Monday", + "2050-08-01": "Emancipation Day", + "2050-08-02": "Culturama Day - Last Lap", + "2050-08-25": "Kim Collins Day", + "2050-09-16": "National Heroes Day", + "2050-09-19": "Independence Day", + "2050-12-25": "Christmas Day", + "2050-12-26": "Boxing Day", + "2050-12-27": "Christmas Day (observed)" +} diff --git a/tests/countries/test_saint_kitts_and_nevis.py b/tests/countries/test_saint_kitts_and_nevis.py new file mode 100644 index 000000000..86f8e8623 --- /dev/null +++ b/tests/countries/test_saint_kitts_and_nevis.py @@ -0,0 +1,256 @@ +# holidays +# -------- +# A fast, efficient Python library for generating country, province and state +# specific sets of holidays on the fly. It aims to make determining whether a +# specific date is a holiday as fast and flexible as possible. +# +# Authors: Vacanza Team and individual contributors (see AUTHORS file) +# dr-prodigy (c) 2017-2023 +# ryanss (c) 2014-2017 +# Website: https://github.com/vacanza/python-holidays +# License: MIT (see LICENSE file) + +from unittest import TestCase + +from holidays.constants import HALF_DAY, PUBLIC, WORKDAY +from holidays.countries.saint_kitts_and_nevis import SaintKittsAndNevis, KN, KNA +from tests.common import CommonCountryTests + + +class TestSaintKittsAndNevis(CommonCountryTests, TestCase): + @classmethod + def setUpClass(cls): + super().setUpClass( + SaintKittsAndNevis, years=range(1983, 2051), years_non_observed=range(1983, 2051) + ) + + def test_country_aliases(self): + self.assertAliases(SaintKittsAndNevis, KN, KNA) + + def test_no_holidays(self): + self.assertNoHolidays( + SaintKittsAndNevis(categories=(HALF_DAY, PUBLIC, WORKDAY), years=1982) + ) + + def test_special_public_holidays(self): + self.assertHoliday( + SaintKittsAndNevis(categories=PUBLIC), + "2015-02-18", + "2017-09-20", + "2017-12-19", + "2022-08-08", + "2023-07-04", + ) + + def test_special_half_day_holidays(self): + self.assertHoliday( + SaintKittsAndNevis(categories=HALF_DAY), + "2017-03-23", + "2017-04-10", + "2018-12-31", + "2019-12-31", + "2022-04-27", + "2023-07-20", + "2023-12-30", + "2024-08-01", + ) + + def test_labour_day(self): + # 1st Monday of May. + dt = ( + "2010-05-03", + "2011-05-02", + "2012-05-07", + "2013-05-06", + "2014-05-05", + "2015-05-04", + "2016-05-02", + "2017-05-01", + "2018-05-07", + "2019-05-06", + "2020-05-04", + "2021-05-03", + "2022-05-02", + "2023-05-01", + "2024-05-06", + ) + self.assertHolidayName("Labour Day", dt) + + def test_first_monday_of_august_holiday(self): + name_first_mon_aug = "First Monday of August" + name_emancipation_day = "Emancipation Day" + + dt = ( + "2010-08-02", + "2011-08-01", + "2012-08-06", + "2013-08-05", + "2014-08-04", + "2015-08-03", + "2016-08-01", + "2017-08-07", + "2018-08-06", + "2019-08-05", + "2020-08-03", + "2021-08-02", + "2022-08-01", + "2023-08-07", + "2024-08-05", + ) + self.assertHolidayName(name_emancipation_day, dt) + self.assertNoHolidayName(name_first_mon_aug, range(1998, 2051)) + self.assertNoHolidayName(name_emancipation_day, range(1983, 1998)) + + def test_culturama_day_last_lap(self): + name_culturama_day_last_lap = "Culturama Day - Last Lap" + + dt = ( + "2010-08-03", + "2011-08-02", + "2012-08-07", + "2013-08-06", + "2014-08-05", + "2015-08-04", + "2016-08-02", + "2017-08-08", + "2018-08-07", + "2019-08-06", + "2020-08-04", + "2021-08-03", + "2022-08-02", + "2023-08-08", + "2024-08-06", + ) + self.assertHolidayName(name_culturama_day_last_lap, dt) + + def test_national_heroes_day(self): + name_national_heroes_day = "National Heroes Day" + + self.assertNoHolidayName(name_national_heroes_day, range(1983, 1998)) + self.assertHolidayName( + name_national_heroes_day, (f"{year}-09-16" for year in range(1998, 2051)) + ) + + self.assertNoNonObservedHoliday( + "2001-09-17", + "2007-09-17", + "2012-09-17", + "2018-09-17", + "2029-09-17", + "2034-09-17", + "2040-09-17", + "2045-09-17", + ) + + def test_kim_collins_day(self): + self.assertNoHoliday(SaintKittsAndNevis(categories=WORKDAY), 2002) + self.assertHoliday( + SaintKittsAndNevis(categories=WORKDAY), + (f"{year}-08-25" for year in range(2003, 2051)), + ) + + def test_2015_holidays(self): # ? + # https://web.archive.org/web/20221102224614/https://www.gov.kn/in-skn-national-public-holidays/ + self.assertHolidays( + SaintKittsAndNevis(categories=(PUBLIC, WORKDAY), years=2015), + ("2015-01-01", "Carnival Day"), + ("2015-01-02", "Carnival Day - Last Lap"), + ("2015-02-18", "Federal Election Victory Day"), + ("2015-04-03", "Good Friday"), + ("2015-04-06", "Easter Monday"), + ("2015-05-04", "Labour Day"), + ("2015-05-25", "Whit Monday"), + ("2015-08-03", "Emancipation Day"), + ("2015-08-04", "Culturama Day - Last Lap"), + ("2015-08-25", "Kim Collins Day"), + ("2015-09-16", "National Heroes Day"), + ("2015-09-19", "Independence Day"), + ("2015-12-25", "Christmas Day"), + ("2015-12-26", "Boxing Day"), + ) + + def test_2021_holidays(self): + # https://www.facebook.com/photo/?fbid=3623684614351340 + self.assertHolidays( + SaintKittsAndNevis(categories=(PUBLIC, WORKDAY), years=2021), + ("2021-01-01", "Carnival Day"), + ("2021-01-02", "Carnival Day - Last Lap"), + ("2021-04-02", "Good Friday"), + ("2021-04-05", "Easter Monday"), + ("2021-05-03", "Labour Day"), + ("2021-05-24", "Whit Monday"), + ("2021-08-02", "Emancipation Day"), + ("2021-08-03", "Culturama Day - Last Lap"), + ("2021-08-25", "Kim Collins Day"), + ("2021-09-16", "National Heroes Day"), + ("2021-09-19", "Independence Day"), + ("2021-09-20", "Independence Day (observed)"), + ("2021-12-25", "Christmas Day"), + ("2021-12-26", "Boxing Day"), + ("2021-12-27", "Boxing Day (observed)"), + ) + + def test_2022_holidays(self): + # https://www.facebook.com/photo/?fbid=525835396250028 + self.assertHolidays( + SaintKittsAndNevis(categories=(PUBLIC, WORKDAY), years=2022), + ("2022-01-01", "Carnival Day"), + ("2022-01-02", "Carnival Day - Last Lap"), + ("2022-01-03", "Carnival Day - Last Lap (observed)"), + ("2022-04-15", "Good Friday"), + ("2022-04-18", "Easter Monday"), + ("2022-05-02", "Labour Day"), + ("2022-06-06", "Whit Monday"), + ("2022-08-01", "Emancipation Day"), + ("2022-08-02", "Culturama Day - Last Lap"), + ("2022-08-08", "Federal Election Victory Day"), + ("2022-08-25", "Kim Collins Day"), + ("2022-09-16", "National Heroes Day"), + ("2022-09-19", "Independence Day"), + ("2022-12-25", "Christmas Day"), + ("2022-12-26", "Boxing Day"), + ("2022-12-27", "Christmas Day (observed)"), + ) + + def test_2023_holidays(self): + # https://www.facebook.com/photo?fbid=525940556239512 + self.assertHolidays( + SaintKittsAndNevis(categories=(PUBLIC, WORKDAY), years=2023), + ("2023-01-01", "Carnival Day"), + ("2023-01-02", "Carnival Day - Last Lap"), + ("2023-01-03", "Carnival Day (observed)"), + ("2023-04-07", "Good Friday"), + ("2023-04-10", "Easter Monday"), + ("2023-05-01", "Labour Day"), + ("2023-05-29", "Whit Monday"), + ( + "2023-07-04", + "50th Anniversary of the Establishment of the Caribbean Community (CARICOM)", + ), + ("2023-08-07", "Emancipation Day"), + ("2023-08-08", "Culturama Day - Last Lap"), + ("2023-09-16", "National Heroes Day"), + ("2023-09-19", "Independence Day"), + ("2023-08-25", "Kim Collins Day"), + ("2023-12-25", "Christmas Day"), + ("2023-12-26", "Boxing Day"), + ) + + def test_2024_holidays(self): + # https://www.facebook.com/photo/?fbid=769697881863777 + self.assertHolidays( + SaintKittsAndNevis(categories=(PUBLIC, WORKDAY), years=2024), + ("2024-01-01", "Carnival Day"), + ("2024-01-02", "Carnival Day - Last Lap"), + ("2024-03-29", "Good Friday"), + ("2024-04-01", "Easter Monday"), + ("2024-05-06", "Labour Day"), + ("2024-05-20", "Whit Monday"), + ("2024-08-05", "Emancipation Day"), + ("2024-08-06", "Culturama Day - Last Lap"), + ("2024-09-16", "National Heroes Day"), + ("2024-08-25", "Kim Collins Day"), + ("2024-09-19", "Independence Day"), + ("2024-12-25", "Christmas Day"), + ("2024-12-26", "Boxing Day"), + )