Repository: vacanza/holidays
Pull request #2612 (2025-06-07 13:26:05)

Refactor TF holidays
<!--
  Thanks for contributing to holidays!
-->

## Proposed change

<!--
  Describe the big picture of your changes.
  Don't forget to link your PR to an existing issue if any.
-->

Refactor TF holidays, extend tests.

## Type of change

<!--
  Type of change you want to introduce. Please, check one (1) box only!
  If your PR requires multiple boxes to be checked, most likely it needs to
  be split into multiple PRs.
-->

- [ ] New country/market holidays support (thank you!)
- [ ] Supported country/market holidays update (calendar discrepancy fix, localization)
- [x] Existing code/documentation/test/process quality improvement (best practice, cleanup, refactoring, optimization)
- [ ] Dependency update (version deprecation/pin/upgrade)
- [ ] Bugfix (non-breaking change which fixes an issue)
- [ ] Breaking change (a code change causing existing functionality to break)
- [ ] New feature (new `holidays` functionality in general)

## Checklist

<!--
  Put an `x` in the boxes that apply. You can change them after PR is created.
-->

- [x] I've followed the [contributing guidelines][contributing-guidelines]
- [x] I've successfully run `make check`, all checks and tests are green

<!--
  Thanks again for your contribution!
-->

[contributing-guidelines]: https://github.com/vacanza/holidays/blob/dev/CONTRIBUTING.md
[docs]: https://github.com/vacanza/holidays/tree/dev/docs/source


coderabbitai[bot]: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
<!-- This is an auto-generated comment: review in progress by coderabbit.ai -->

> [!NOTE]
> Currently processing new changes in this PR. This may take a few minutes, please wait...
> 
> <details>
> <summary>📥 Commits</summary>
> 
> Reviewing files that changed from the base of the PR and between 043f748d8e2e95b6ae612a06f0fce2e64167c1fc and b1efb02ec5568b9aa2f4da6d30bb85f2530da12a.
> 
> </details>
> 
> <details>
> <summary>📒 Files selected for processing (2)</summary>
> 
> * `holidays/countries/french_southern_territories.py` (0 hunks)
> * `tests/countries/test_french_southern_territories.py` (1 hunks)
> 
> </details>
> 
> ```ascii
>  _______________________________________________________________________________________________
> < bm = Δc/Δt: Bug momentum equals change in code over change in time. Can't argue with physics. >
>  -----------------------------------------------------------------------------------------------
>   \
>    \   (\__/)
>        (•ㅅ•)
>        / 　 づ
> ```

<!-- end of auto-generated comment: review in progress by coderabbit.ai -->
<!-- finishing_touch_checkbox_start -->

<details open="true">
<summary>✨ Finishing Touches</summary>

- [ ] <!-- {"checkboxId": "7962f53c-55bc-4827-bfbf-6a18da830691"} --> 📝 Generate Docstrings

</details>

<!-- finishing_touch_checkbox_end -->
<!-- tips_start -->

---

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

<details>
<summary>❤️ Share</summary>

- [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
- [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
- [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
- [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)

</details>

<details>
<summary>🪧 Tips</summary>

### Chat

There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai?utm_source=oss&utm_medium=github&utm_campaign=vacanza/holidays&utm_content=2612):

- Review comments: Directly reply to a review comment made by CodeRabbit. Example:
  - `I pushed a fix in commit <commit_id>, please review it.`
  - `Explain this complex logic.`
  - `Open a follow-up GitHub issue for this discussion.`
- Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
  - `@coderabbitai explain this code block.`
  -	`@coderabbitai modularize this function.`
- PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
  - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
  - `@coderabbitai read src/utils.ts and explain its main purpose.`
  - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
  - `@coderabbitai help me debug CodeRabbit configuration file.`

### Support

Need help? Create a ticket on our [support page](https://www.coderabbit.ai/contact-us/support) for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

### CodeRabbit Commands (Invoked using PR comments)

- `@coderabbitai pause` to pause the reviews on a PR.
- `@coderabbitai resume` to resume the paused reviews.
- `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
- `@coderabbitai full review` to do a full review from scratch and review all the files again.
- `@coderabbitai summary` to regenerate the summary of the PR.
- `@coderabbitai generate docstrings` to [generate docstrings](https://docs.coderabbit.ai/finishing-touches/docstrings) for this PR.
- `@coderabbitai generate sequence diagram` to generate a sequence diagram of the changes in this PR.
- `@coderabbitai resolve` resolve all the CodeRabbit review comments.
- `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
- `@coderabbitai help` to get help.

### Other keywords and placeholders

- Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
- Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
- Add `@coderabbitai` anywhere in the PR title to generate the title automatically.

### Documentation and Community

- Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
- Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
- Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.

</details>

<!-- tips_end -->
sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2612) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2612&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2612&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=vacanza_python-holidays&pullRequest=2612&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2612&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2612&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2612)



Patch:
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 71040077..780484fd 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -134,6 +134,7 @@ Santiago Feliu
 Sergi Almacellas Abellana
 Sergio Mayoral Martinez
 Serhii Murza
+Shalom Donga
 Shaurya Uppal
 Sho Hirose
 Shreyansh Pande
diff --git a/README.md b/README.md
index dd909361..9ceb4ed9 100644
--- a/README.md
+++ b/README.md
@@ -105,7 +105,7 @@ and detailed information.
 
 ## Available Countries
 
-We currently support 184 country codes. The standard way to refer to a country is by using its [ISO
+We currently support 185 country codes. The standard way to refer to a country is by using its [ISO
 3166-1 alpha-2 code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes), the same used
 for domain names, and for a subdivision its [ISO 3166-2
 code](https://en.wikipedia.org/wiki/ISO_3166-2). Some countries have common or foreign names or
@@ -1323,6 +1323,13 @@ any) in brackets, available languages and additional holiday categories. All cou
 <td>HALF_DAY</td>
 </tr>
 <tr>
+<td>Turks and Caicos Islands</td>
+<td>TC</td>
+<td></td>
+<td><strong>en_TC</strong>, en_US</td>
+<td></td>
+</tr>
+<tr>
 <td>Tuvalu</td>
 <td>TV</td>
 <td>Town/Island Councils: FUN (Funafuti), NIT (Niutao), NKF (Nukufetau), NKL (Nukulaelae), NMA (Nanumea), NMG (Nanumaga, Nanumanga), NUI (Nui), VAI (Vaitupu)</td>
diff --git a/holidays/countries/__init__.py b/holidays/countries/__init__.py
index c5249290..cde4cc9f 100644
--- a/holidays/countries/__init__.py
+++ b/holidays/countries/__init__.py
@@ -185,6 +185,7 @@ from holidays.countries.tonga import Tonga, TO, TON
 from holidays.countries.trinidad_and_tobago import TrinidadAndTobago, TT, TTO
 from holidays.countries.tunisia import Tunisia, TN, TUN
 from holidays.countries.turkey import Turkey, TR, TUR
+from holidays.countries.turks_and_caicos_islands import TurksAndCaicosIslands, TC, TCA
 from holidays.countries.tuvalu import Tuvalu, TV, TUV
 from holidays.countries.ukraine import Ukraine, UA, UKR
 from holidays.countries.united_arab_emirates import UnitedArabEmirates, AE, ARE
diff --git a/holidays/countries/french_southern_territories.py b/holidays/countries/french_southern_territories.py
index 9cc0f71e..7b2c301a 100644
--- a/holidays/countries/french_southern_territories.py
+++ b/holidays/countries/french_southern_territories.py
@@ -36,10 +36,6 @@ class HolidaysTF(France):
     # This overseas territory was separated in 1955.
     start_year = 1956
 
-    def _populate_public_holidays(self) -> None:
-        self.subdiv = "TF"
-        super()._populate_public_holidays()
-
 
 class FrenchSouthernTerritories(HolidaysTF):
     pass
diff --git a/holidays/countries/turks_and_caicos_islands.py b/holidays/countries/turks_and_caicos_islands.py
new file mode 100644
index 00000000..5f437c25
--- /dev/null
+++ b/holidays/countries/turks_and_caicos_islands.py
@@ -0,0 +1,134 @@
+#  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 CONTRIBUTORS file)
+#           dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
+#           ryanss <ryanssdev@icloud.com> (c) 2014-2017
+#  Website: https://github.com/vacanza/holidays
+#  License: MIT (see LICENSE file)
+
+from gettext import gettext as tr
+
+from holidays.calendars.gregorian import JUN
+from holidays.groups import ChristianHolidays, InternationalHolidays
+from holidays.observed_holiday_base import (
+    ObservedHolidayBase,
+    SAT_SUN_TO_NEXT_MON,
+    SAT_SUN_TO_NEXT_MON_TUE,
+)
+
+
+class TurksAndCaicosIslands(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
+    """Turks and Caicos Islands holidays.
+
+    References:
+        * [Wikipedia](https://en.wikipedia.org/wiki/Public_holidays_in_the_Turks_and_Caicos_Islands)
+        * [Public Holidays Ordinance, rev. 2014](https://web.archive.org/web/20250210082429/https://gov.tc/agc/component/edocman/21-02-public-holidays-ordinance-2/viewdocument/599?Itemid=)
+        * [Ordinance 5 of 2020](https://web.archive.org/web/20250429025117/https://www.gov.tc/agc/component/edocman/05-of-2020-public-holidays-amendment-ordinance/viewdocument/1419?Itemid=)
+        * [Public Holidays Ordinance, rev. 2021](https://web.archive.org/web/20250429025602/https://www.gov.tc/agc/component/edocman/21-02-public-holidays-ordinance-2/viewdocument/2027?Itemid=)
+        * [2017](https://www.facebook.com/photo/?fbid=1137860329642985&set=a.349345645161128)
+        * [2018](https://web.archive.org/web/20180126185141/https://gov.tc/pressoffice/999-listing-of-special-days-public-holidays-for-2018)
+        * [2019](https://www.facebook.com/photo/?fbid=2514587681970236&set=a.349345645161128)
+        * [2020](https://www.facebook.com/pressofficetcig/photos/a.349345645161128/2572825079479829/?type=3)
+        * [2021](https://www.facebook.com/pressofficetcig/photos/a.349345645161128/3511371698958491/?type=3)
+        * [2022](https://www.facebook.com/pressofficetcig/photos/a.349345645161128/4515540038541647/?type=3)
+        * [2023](https://www.facebook.com/photo/?fbid=557741379734203&set=a.363028765872133)
+        * [2025](https://www.facebook.com/photo/?fbid=1019082573584944&set=a.353200576839817)
+        * [Destination TCI](https://web.archive.org/web/20250429024708/https://destinationtci.tc/turks-and-caicos-islands-public-holidays/)
+        * [Time and Date](https://web.archive.org/web/20250429024853/https://www.timeanddate.com/holidays/turks-and-caicos-islands/)
+    """
+
+    country = "TC"
+    default_language = "en_TC"
+    # %s (observed).
+    observed_label = "%s (observed)"
+    # Separated from Jamaica in 1962.
+    start_year = 1963
+    supported_languages = ("en_TC", "en_US")
+
+    def __init__(self, *args, **kwargs):
+        ChristianHolidays.__init__(self)
+        InternationalHolidays.__init__(self)
+        # Public Holidays Act 1980 established weekend-to-Monday rule.
+        kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_MON)
+        kwargs.setdefault("observed_since", 1980)
+        super().__init__(*args, **kwargs)
+
+    def _populate_public_holidays(self):
+        # New Year's Day.
+        self._add_observed(self._add_new_years_day(tr("New Year's Day")))
+
+        # Commonwealth Day.
+        self._add_holiday_2nd_mon_of_mar(tr("Commonwealth Day"))
+
+        # Good Friday.
+        self._add_good_friday(tr("Good Friday"))
+
+        # Easter Monday.
+        self._add_easter_monday(tr("Easter Monday"))
+
+        self._add_holiday_last_mon_of_may(
+            # JAGS McCartney Day.
+            tr("JAGS McCartney Day")
+            if self._year >= 2020
+            # National Heroes Day.
+            else tr("National Heroes Day")
+        )
+
+        name = (
+            # King's Birthday.
+            tr("King's Birthday")
+            if self._year >= 2023
+            # Queen's Birthday.
+            else tr("Queen's Birthday")
+        )
+        dates_obs = {
+            2022: (JUN, 3),
+            2023: (JUN, 19),
+            2024: (JUN, 17),
+            2025: (JUN, 23),
+        }
+        if self._year in dates_obs:
+            self._add_holiday(name, dates_obs.get(self._year))
+        else:
+            self._add_holiday_2nd_mon_of_jun(name)
+
+        # Emancipation Day.
+        self._add_observed(self._add_holiday_aug_1(tr("Emancipation Day")))
+
+        # National Youth Day.
+        self._add_holiday_last_fri_of_sep(tr("National Youth Day"))
+
+        self._add_holiday_2nd_mon_of_oct(
+            # National Heritage Day.
+            tr("National Heritage Day")
+            if self._year >= 2014
+            # Columbus Day.
+            else tr("Columbus Day")
+        )
+
+        # National Day of Thanksgiving.
+        self._add_holiday_4th_fri_of_nov(tr("National Day of Thanksgiving"))
+
+        self._add_observed(
+            # Christmas Day.
+            self._add_christmas_day(tr("Christmas Day")),
+            rule=SAT_SUN_TO_NEXT_MON_TUE,
+        )
+
+        self._add_observed(
+            # Boxing Day.
+            self._add_christmas_day_two(tr("Boxing Day")),
+            rule=SAT_SUN_TO_NEXT_MON_TUE,
+        )
+
+
+class TC(TurksAndCaicosIslands):
+    pass
+
+
+class TCA(TurksAndCaicosIslands):
+    pass
diff --git a/holidays/locale/en_TC/LC_MESSAGES/TC.po b/holidays/locale/en_TC/LC_MESSAGES/TC.po
new file mode 100644
index 00000000..c1e4711a
--- /dev/null
+++ b/holidays/locale/en_TC/LC_MESSAGES/TC.po
@@ -0,0 +1,87 @@
+#  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 CONTRIBUTORS file)
+#           dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
+#           ryanss <ryanssdev@icloud.com> (c) 2014-2017
+#  Website: https://github.com/vacanza/holidays
+#  License: MIT (see LICENSE file)
+#
+# Turks and Caicos Islands holidays.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Holidays 0.75\n"
+"POT-Creation-Date: 2025-04-27 22:07-0500\n"
+"PO-Revision-Date: 2025-05-07 13:02-0400\n"
+"Last-Translator: Shalom Donga <shalomdonga@gmail.com>\n"
+"Language-Team: Holidays Localization Team\n"
+"Language: en_TC\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Lingva 4.15.0\n"
+"X-Source-Language: en_TC\n"
+
+#. New Year's Day.
+msgid "New Year's Day"
+msgstr ""
+
+#. Commonwealth Day.
+msgid "Commonwealth Day"
+msgstr ""
+
+#. Good Friday.
+msgid "Good Friday"
+msgstr ""
+
+#. Easter Monday.
+msgid "Easter Monday"
+msgstr ""
+
+#. JAGS McCartney Day.
+msgid "JAGS McCartney Day"
+msgstr ""
+
+#. National Heroes Day.
+msgid "National Heroes Day"
+msgstr ""
+
+#. King's Birthday.
+msgid "King's Birthday"
+msgstr ""
+
+#. Queen's Birthday.
+msgid "Queen's Birthday"
+msgstr ""
+
+#. Emancipation Day.
+msgid "Emancipation Day"
+msgstr ""
+
+#. National Youth Day.
+msgid "National Youth Day"
+msgstr ""
+
+#. National Heritage Day.
+msgid "National Heritage Day"
+msgstr ""
+
+#. National Day of Thanksgiving.
+msgid "National Day of Thanksgiving"
+msgstr ""
+
+#. Christmas Day.
+msgid "Christmas Day"
+msgstr ""
+
+#. Boxing Day.
+msgid "Boxing Day"
+msgstr ""
+
+#. Columbus Day.
+msgid "Columbus Day"
+msgstr ""
diff --git a/holidays/locale/en_US/LC_MESSAGES/TC.po b/holidays/locale/en_US/LC_MESSAGES/TC.po
new file mode 100644
index 00000000..1ea9f9ca
--- /dev/null
+++ b/holidays/locale/en_US/LC_MESSAGES/TC.po
@@ -0,0 +1,88 @@
+#  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 CONTRIBUTORS file)
+#           dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
+#           ryanss <ryanssdev@icloud.com> (c) 2014-2017
+#  Website: https://github.com/vacanza/holidays
+#  License: MIT (see LICENSE file)
+#
+# Turks and Caicos Islands holidays en_US localization.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Holidays 0.75\n"
+"POT-Creation-Date: 2025-04-23 12:44-0500\n"
+"PO-Revision-Date: 2025-05-07 13:02-0400\n"
+"Last-Translator: Shalom Donga <shalomdonga@gmail.com>\n"
+"Language-Team: Holidays Localization Team\n"
+"Language: en_US\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Generated-By: Lingua 4.15.0\n"
+"X-Generator: Poedit 3.2.2\n"
+
+#. New Year's Day.
+msgid "New Year's Day"
+msgstr "New Year's Day"
+
+#. Commonwealth Day.
+msgid "Commonwealth Day"
+msgstr "Commonwealth Day"
+
+#. Good Friday.
+msgid "Good Friday"
+msgstr "Good Friday"
+
+#. Easter Monday.
+msgid "Easter Monday"
+msgstr "Easter Monday"
+
+#. JAGS McCartney Day.
+msgid "JAGS McCartney Day"
+msgstr "JAGS McCartney Day"
+
+#. King's Birthday.
+msgid "King's Birthday"
+msgstr "King's Birthday"
+
+#. Emancipation Day.
+msgid "Emancipation Day"
+msgstr "Emancipation Day"
+
+#. National Youth Day.
+msgid "National Youth Day"
+msgstr "National Youth Day"
+
+#. National Heritage Day.
+msgid "National Heritage Day"
+msgstr "National Heritage Day"
+
+#. National Day of Thanksgiving.
+msgid "National Day of Thanksgiving"
+msgstr "National Day of Thanksgiving"
+
+#. Christmas Day.
+msgid "Christmas Day"
+msgstr "Christmas Day"
+
+#. Boxing Day.
+msgid "Boxing Day"
+msgstr "Boxing Day"
+
+#. National Heroes Day.
+msgid "National Heroes Day"
+msgstr "National Heroes Day"
+
+#. Queen's Birthday.
+msgid "Queen's Birthday"
+msgstr "Queen's Birthday"
+
+#. Columbus Day.
+msgid "Columbus Day"
+msgstr "Columbus Day"
diff --git a/holidays/registry.py b/holidays/registry.py
index 1759acc8..2df0e50c 100644
--- a/holidays/registry.py
+++ b/holidays/registry.py
@@ -188,6 +188,7 @@ COUNTRIES: RegistryDict = {
     "trinidad_and_tobago": ("TrinidadAndTobago", "TT", "TTO"),
     "tunisia": ("Tunisia", "TN", "TUN"),
     "turkey": ("Turkey", "TR", "TUR"),
+    "turks_and_caicos_islands": ("TurksAndCaicosIslands", "TC", "TCA"),
     "tuvalu": ("Tuvalu", "TV", "TUV"),
     "ukraine": ("Ukraine", "UA", "UKR"),
     "united_arab_emirates": ("UnitedArabEmirates", "AE", "ARE"),
diff --git a/snapshots/countries/TC_COMMON.json b/snapshots/countries/TC_COMMON.json
new file mode 100644
index 00000000..4067e817
--- /dev/null
+++ b/snapshots/countries/TC_COMMON.json
@@ -0,0 +1,1141 @@
+{
+    "1963-01-01": "New Year's Day",
+    "1963-03-11": "Commonwealth Day",
+    "1963-04-12": "Good Friday",
+    "1963-04-15": "Easter Monday",
+    "1963-05-27": "National Heroes Day",
+    "1963-06-10": "Queen's Birthday",
+    "1963-08-01": "Emancipation Day",
+    "1963-09-27": "National Youth Day",
+    "1963-10-14": "Columbus Day",
+    "1963-11-22": "National Day of Thanksgiving",
+    "1963-12-25": "Christmas Day",
+    "1963-12-26": "Boxing Day",
+    "1964-01-01": "New Year's Day",
+    "1964-03-09": "Commonwealth Day",
+    "1964-03-27": "Good Friday",
+    "1964-03-30": "Easter Monday",
+    "1964-05-25": "National Heroes Day",
+    "1964-06-08": "Queen's Birthday",
+    "1964-08-01": "Emancipation Day",
+    "1964-09-25": "National Youth Day",
+    "1964-10-12": "Columbus Day",
+    "1964-11-27": "National Day of Thanksgiving",
+    "1964-12-25": "Christmas Day",
+    "1964-12-26": "Boxing Day",
+    "1965-01-01": "New Year's Day",
+    "1965-03-08": "Commonwealth Day",
+    "1965-04-16": "Good Friday",
+    "1965-04-19": "Easter Monday",
+    "1965-05-31": "National Heroes Day",
+    "1965-06-14": "Queen's Birthday",
+    "1965-08-01": "Emancipation Day",
+    "1965-09-24": "National Youth Day",
+    "1965-10-11": "Columbus Day",
+    "1965-11-26": "National Day of Thanksgiving",
+    "1965-12-25": "Christmas Day",
+    "1965-12-26": "Boxing Day",
+    "1966-01-01": "New Year's Day",
+    "1966-03-14": "Commonwealth Day",
+    "1966-04-08": "Good Friday",
+    "1966-04-11": "Easter Monday",
+    "1966-05-30": "National Heroes Day",
+    "1966-06-13": "Queen's Birthday",
+    "1966-08-01": "Emancipation Day",
+    "1966-09-30": "National Youth Day",
+    "1966-10-10": "Columbus Day",
+    "1966-11-25": "National Day of Thanksgiving",
+    "1966-12-25": "Christmas Day",
+    "1966-12-26": "Boxing Day",
+    "1967-01-01": "New Year's Day",
+    "1967-03-13": "Commonwealth Day",
+    "1967-03-24": "Good Friday",
+    "1967-03-27": "Easter Monday",
+    "1967-05-29": "National Heroes Day",
+    "1967-06-12": "Queen's Birthday",
+    "1967-08-01": "Emancipation Day",
+    "1967-09-29": "National Youth Day",
+    "1967-10-09": "Columbus Day",
+    "1967-11-24": "National Day of Thanksgiving",
+    "1967-12-25": "Christmas Day",
+    "1967-12-26": "Boxing Day",
+    "1968-01-01": "New Year's Day",
+    "1968-03-11": "Commonwealth Day",
+    "1968-04-12": "Good Friday",
+    "1968-04-15": "Easter Monday",
+    "1968-05-27": "National Heroes Day",
+    "1968-06-10": "Queen's Birthday",
+    "1968-08-01": "Emancipation Day",
+    "1968-09-27": "National Youth Day",
+    "1968-10-14": "Columbus Day",
+    "1968-11-22": "National Day of Thanksgiving",
+    "1968-12-25": "Christmas Day",
+    "1968-12-26": "Boxing Day",
+    "1969-01-01": "New Year's Day",
+    "1969-03-10": "Commonwealth Day",
+    "1969-04-04": "Good Friday",
+    "1969-04-07": "Easter Monday",
+    "1969-05-26": "National Heroes Day",
+    "1969-06-09": "Queen's Birthday",
+    "1969-08-01": "Emancipation Day",
+    "1969-09-26": "National Youth Day",
+    "1969-10-13": "Columbus Day",
+    "1969-11-28": "National Day of Thanksgiving",
+    "1969-12-25": "Christmas Day",
+    "1969-12-26": "Boxing Day",
+    "1970-01-01": "New Year's Day",
+    "1970-03-09": "Commonwealth Day",
+    "1970-03-27": "Good Friday",
+    "1970-03-30": "Easter Monday",
+    "1970-05-25": "National Heroes Day",
+    "1970-06-08": "Queen's Birthday",
+    "1970-08-01": "Emancipation Day",
+    "1970-09-25": "National Youth Day",
+    "1970-10-12": "Columbus Day",
+    "1970-11-27": "National Day of Thanksgiving",
+    "1970-12-25": "Christmas Day",
+    "1970-12-26": "Boxing Day",
+    "1971-01-01": "New Year's Day",
+    "1971-03-08": "Commonwealth Day",
+    "1971-04-09": "Good Friday",
+    "1971-04-12": "Easter Monday",
+    "1971-05-31": "National Heroes Day",
+    "1971-06-14": "Queen's Birthday",
+    "1971-08-01": "Emancipation Day",
+    "1971-09-24": "National Youth Day",
+    "1971-10-11": "Columbus Day",
+    "1971-11-26": "National Day of Thanksgiving",
+    "1971-12-25": "Christmas Day",
+    "1971-12-26": "Boxing Day",
+    "1972-01-01": "New Year's Day",
+    "1972-03-13": "Commonwealth Day",
+    "1972-03-31": "Good Friday",
+    "1972-04-03": "Easter Monday",
+    "1972-05-29": "National Heroes Day",
+    "1972-06-12": "Queen's Birthday",
+    "1972-08-01": "Emancipation Day",
+    "1972-09-29": "National Youth Day",
+    "1972-10-09": "Columbus Day",
+    "1972-11-24": "National Day of Thanksgiving",
+    "1972-12-25": "Christmas Day",
+    "1972-12-26": "Boxing Day",
+    "1973-01-01": "New Year's Day",
+    "1973-03-12": "Commonwealth Day",
+    "1973-04-20": "Good Friday",
+    "1973-04-23": "Easter Monday",
+    "1973-05-28": "National Heroes Day",
+    "1973-06-11": "Queen's Birthday",
+    "1973-08-01": "Emancipation Day",
+    "1973-09-28": "National Youth Day",
+    "1973-10-08": "Columbus Day",
+    "1973-11-23": "National Day of Thanksgiving",
+    "1973-12-25": "Christmas Day",
+    "1973-12-26": "Boxing Day",
+    "1974-01-01": "New Year's Day",
+    "1974-03-11": "Commonwealth Day",
+    "1974-04-12": "Good Friday",
+    "1974-04-15": "Easter Monday",
+    "1974-05-27": "National Heroes Day",
+    "1974-06-10": "Queen's Birthday",
+    "1974-08-01": "Emancipation Day",
+    "1974-09-27": "National Youth Day",
+    "1974-10-14": "Columbus Day",
+    "1974-11-22": "National Day of Thanksgiving",
+    "1974-12-25": "Christmas Day",
+    "1974-12-26": "Boxing Day",
+    "1975-01-01": "New Year's Day",
+    "1975-03-10": "Commonwealth Day",
+    "1975-03-28": "Good Friday",
+    "1975-03-31": "Easter Monday",
+    "1975-05-26": "National Heroes Day",
+    "1975-06-09": "Queen's Birthday",
+    "1975-08-01": "Emancipation Day",
+    "1975-09-26": "National Youth Day",
+    "1975-10-13": "Columbus Day",
+    "1975-11-28": "National Day of Thanksgiving",
+    "1975-12-25": "Christmas Day",
+    "1975-12-26": "Boxing Day",
+    "1976-01-01": "New Year's Day",
+    "1976-03-08": "Commonwealth Day",
+    "1976-04-16": "Good Friday",
+    "1976-04-19": "Easter Monday",
+    "1976-05-31": "National Heroes Day",
+    "1976-06-14": "Queen's Birthday",
+    "1976-08-01": "Emancipation Day",
+    "1976-09-24": "National Youth Day",
+    "1976-10-11": "Columbus Day",
+    "1976-11-26": "National Day of Thanksgiving",
+    "1976-12-25": "Christmas Day",
+    "1976-12-26": "Boxing Day",
+    "1977-01-01": "New Year's Day",
+    "1977-03-14": "Commonwealth Day",
+    "1977-04-08": "Good Friday",
+    "1977-04-11": "Easter Monday",
+    "1977-05-30": "National Heroes Day",
+    "1977-06-13": "Queen's Birthday",
+    "1977-08-01": "Emancipation Day",
+    "1977-09-30": "National Youth Day",
+    "1977-10-10": "Columbus Day",
+    "1977-11-25": "National Day of Thanksgiving",
+    "1977-12-25": "Christmas Day",
+    "1977-12-26": "Boxing Day",
+    "1978-01-01": "New Year's Day",
+    "1978-03-13": "Commonwealth Day",
+    "1978-03-24": "Good Friday",
+    "1978-03-27": "Easter Monday",
+    "1978-05-29": "National Heroes Day",
+    "1978-06-12": "Queen's Birthday",
+    "1978-08-01": "Emancipation Day",
+    "1978-09-29": "National Youth Day",
+    "1978-10-09": "Columbus Day",
+    "1978-11-24": "National Day of Thanksgiving",
+    "1978-12-25": "Christmas Day",
+    "1978-12-26": "Boxing Day",
+    "1979-01-01": "New Year's Day",
+    "1979-03-12": "Commonwealth Day",
+    "1979-04-13": "Good Friday",
+    "1979-04-16": "Easter Monday",
+    "1979-05-28": "National Heroes Day",
+    "1979-06-11": "Queen's Birthday",
+    "1979-08-01": "Emancipation Day",
+    "1979-09-28": "National Youth Day",
+    "1979-10-08": "Columbus Day",
+    "1979-11-23": "National Day of Thanksgiving",
+    "1979-12-25": "Christmas Day",
+    "1979-12-26": "Boxing Day",
+    "1980-01-01": "New Year's Day",
+    "1980-03-10": "Commonwealth Day",
+    "1980-04-04": "Good Friday",
+    "1980-04-07": "Easter Monday",
+    "1980-05-26": "National Heroes Day",
+    "1980-06-09": "Queen's Birthday",
+    "1980-08-01": "Emancipation Day",
+    "1980-09-26": "National Youth Day",
+    "1980-10-13": "Columbus Day",
+    "1980-11-28": "National Day of Thanksgiving",
+    "1980-12-25": "Christmas Day",
+    "1980-12-26": "Boxing Day",
+    "1981-01-01": "New Year's Day",
+    "1981-03-09": "Commonwealth Day",
+    "1981-04-17": "Good Friday",
+    "1981-04-20": "Easter Monday",
+    "1981-05-25": "National Heroes Day",
+    "1981-06-08": "Queen's Birthday",
+    "1981-08-01": "Emancipation Day",
+    "1981-08-03": "Emancipation Day (observed)",
+    "1981-09-25": "National Youth Day",
+    "1981-10-12": "Columbus Day",
+    "1981-11-27": "National Day of Thanksgiving",
+    "1981-12-25": "Christmas Day",
+    "1981-12-26": "Boxing Day",
+    "1981-12-28": "Boxing Day (observed)",
+    "1982-01-01": "New Year's Day",
+    "1982-03-08": "Commonwealth Day",
+    "1982-04-09": "Good Friday",
+    "1982-04-12": "Easter Monday",
+    "1982-05-31": "National Heroes Day",
+    "1982-06-14": "Queen's Birthday",
+    "1982-08-01": "Emancipation Day",
+    "1982-08-02": "Emancipation Day (observed)",
+    "1982-09-24": "National Youth Day",
+    "1982-10-11": "Columbus Day",
+    "1982-11-26": "National Day of Thanksgiving",
+    "1982-12-25": "Christmas Day",
+    "1982-12-26": "Boxing Day",
+    "1982-12-27": "Christmas Day (observed)",
+    "1982-12-28": "Boxing Day (observed)",
+    "1983-01-01": "New Year's Day",
+    "1983-01-03": "New Year's Day (observed)",
+    "1983-03-14": "Commonwealth Day",
+    "1983-04-01": "Good Friday",
+    "1983-04-04": "Easter Monday",
+    "1983-05-30": "National Heroes Day",
+    "1983-06-13": "Queen's Birthday",
+    "1983-08-01": "Emancipation Day",
+    "1983-09-30": "National Youth Day",
+    "1983-10-10": "Columbus Day",
+    "1983-11-25": "National Day of Thanksgiving",
+    "1983-12-25": "Christmas Day",
+    "1983-12-26": "Boxing Day",
+    "1983-12-27": "Christmas Day (observed)",
+    "1984-01-01": "New Year's Day",
+    "1984-01-02": "New Year's Day (observed)",
+    "1984-03-12": "Commonwealth Day",
+    "1984-04-20": "Good Friday",
+    "1984-04-23": "Easter Monday",
+    "1984-05-28": "National Heroes Day",
+    "1984-06-11": "Queen's Birthday",
+    "1984-08-01": "Emancipation Day",
+    "1984-09-28": "National Youth Day",
+    "1984-10-08": "Columbus Day",
+    "1984-11-23": "National Day of Thanksgiving",
+    "1984-12-25": "Christmas Day",
+    "1984-12-26": "Boxing Day",
+    "1985-01-01": "New Year's Day",
+    "1985-03-11": "Commonwealth Day",
+    "1985-04-05": "Good Friday",
+    "1985-04-08": "Easter Monday",
+    "1985-05-27": "National Heroes Day",
+    "1985-06-10": "Queen's Birthday",
+    "1985-08-01": "Emancipation Day",
+    "1985-09-27": "National Youth Day",
+    "1985-10-14": "Columbus Day",
+    "1985-11-22": "National Day of Thanksgiving",
+    "1985-12-25": "Christmas Day",
+    "1985-12-26": "Boxing Day",
+    "1986-01-01": "New Year's Day",
+    "1986-03-10": "Commonwealth Day",
+    "1986-03-28": "Good Friday",
+    "1986-03-31": "Easter Monday",
+    "1986-05-26": "National Heroes Day",
+    "1986-06-09": "Queen's Birthday",
+    "1986-08-01": "Emancipation Day",
+    "1986-09-26": "National Youth Day",
+    "1986-10-13": "Columbus Day",
+    "1986-11-28": "National Day of Thanksgiving",
+    "1986-12-25": "Christmas Day",
+    "1986-12-26": "Boxing Day",
+    "1987-01-01": "New Year's Day",
+    "1987-03-09": "Commonwealth Day",
+    "1987-04-17": "Good Friday",
+    "1987-04-20": "Easter Monday",
+    "1987-05-25": "National Heroes Day",
+    "1987-06-08": "Queen's Birthday",
+    "1987-08-01": "Emancipation Day",
+    "1987-08-03": "Emancipation Day (observed)",
+    "1987-09-25": "National Youth Day",
+    "1987-10-12": "Columbus Day",
+    "1987-11-27": "National Day of Thanksgiving",
+    "1987-12-25": "Christmas Day",
+    "1987-12-26": "Boxing Day",
+    "1987-12-28": "Boxing Day (observed)",
+    "1988-01-01": "New Year's Day",
+    "1988-03-14": "Commonwealth Day",
+    "1988-04-01": "Good Friday",
+    "1988-04-04": "Easter Monday",
+    "1988-05-30": "National Heroes Day",
+    "1988-06-13": "Queen's Birthday",
+    "1988-08-01": "Emancipation Day",
+    "1988-09-30": "National Youth Day",
+    "1988-10-10": "Columbus Day",
+    "1988-11-25": "National Day of Thanksgiving",
+    "1988-12-25": "Christmas Day",
+    "1988-12-26": "Boxing Day",
+    "1988-12-27": "Christmas Day (observed)",
+    "1989-01-01": "New Year's Day",
+    "1989-01-02": "New Year's Day (observed)",
+    "1989-03-13": "Commonwealth Day",
+    "1989-03-24": "Good Friday",
+    "1989-03-27": "Easter Monday",
+    "1989-05-29": "National Heroes Day",
+    "1989-06-12": "Queen's Birthday",
+    "1989-08-01": "Emancipation Day",
+    "1989-09-29": "National Youth Day",
+    "1989-10-09": "Columbus Day",
+    "1989-11-24": "National Day of Thanksgiving",
+    "1989-12-25": "Christmas Day",
+    "1989-12-26": "Boxing Day",
+    "1990-01-01": "New Year's Day",
+    "1990-03-12": "Commonwealth Day",
+    "1990-04-13": "Good Friday",
+    "1990-04-16": "Easter Monday",
+    "1990-05-28": "National Heroes Day",
+    "1990-06-11": "Queen's Birthday",
+    "1990-08-01": "Emancipation Day",
+    "1990-09-28": "National Youth Day",
+    "1990-10-08": "Columbus Day",
+    "1990-11-23": "National Day of Thanksgiving",
+    "1990-12-25": "Christmas Day",
+    "1990-12-26": "Boxing Day",
+    "1991-01-01": "New Year's Day",
+    "1991-03-11": "Commonwealth Day",
+    "1991-03-29": "Good Friday",
+    "1991-04-01": "Easter Monday",
+    "1991-05-27": "National Heroes Day",
+    "1991-06-10": "Queen's Birthday",
+    "1991-08-01": "Emancipation Day",
+    "1991-09-27": "National Youth Day",
+    "1991-10-14": "Columbus Day",
+    "1991-11-22": "National Day of Thanksgiving",
+    "1991-12-25": "Christmas Day",
+    "1991-12-26": "Boxing Day",
+    "1992-01-01": "New Year's Day",
+    "1992-03-09": "Commonwealth Day",
+    "1992-04-17": "Good Friday",
+    "1992-04-20": "Easter Monday",
+    "1992-05-25": "National Heroes Day",
+    "1992-06-08": "Queen's Birthday",
+    "1992-08-01": "Emancipation Day",
+    "1992-08-03": "Emancipation Day (observed)",
+    "1992-09-25": "National Youth Day",
+    "1992-10-12": "Columbus Day",
+    "1992-11-27": "National Day of Thanksgiving",
+    "1992-12-25": "Christmas Day",
+    "1992-12-26": "Boxing Day",
+    "1992-12-28": "Boxing Day (observed)",
+    "1993-01-01": "New Year's Day",
+    "1993-03-08": "Commonwealth Day",
+    "1993-04-09": "Good Friday",
+    "1993-04-12": "Easter Monday",
+    "1993-05-31": "National Heroes Day",
+    "1993-06-14": "Queen's Birthday",
+    "1993-08-01": "Emancipation Day",
+    "1993-08-02": "Emancipation Day (observed)",
+    "1993-09-24": "National Youth Day",
+    "1993-10-11": "Columbus Day",
+    "1993-11-26": "National Day of Thanksgiving",
+    "1993-12-25": "Christmas Day",
+    "1993-12-26": "Boxing Day",
+    "1993-12-27": "Christmas Day (observed)",
+    "1993-12-28": "Boxing Day (observed)",
+    "1994-01-01": "New Year's Day",
+    "1994-01-03": "New Year's Day (observed)",
+    "1994-03-14": "Commonwealth Day",
+    "1994-04-01": "Good Friday",
+    "1994-04-04": "Easter Monday",
+    "1994-05-30": "National Heroes Day",
+    "1994-06-13": "Queen's Birthday",
+    "1994-08-01": "Emancipation Day",
+    "1994-09-30": "National Youth Day",
+    "1994-10-10": "Columbus Day",
+    "1994-11-25": "National Day of Thanksgiving",
+    "1994-12-25": "Christmas Day",
+    "1994-12-26": "Boxing Day",
+    "1994-12-27": "Christmas Day (observed)",
+    "1995-01-01": "New Year's Day",
+    "1995-01-02": "New Year's Day (observed)",
+    "1995-03-13": "Commonwealth Day",
+    "1995-04-14": "Good Friday",
+    "1995-04-17": "Easter Monday",
+    "1995-05-29": "National Heroes Day",
+    "1995-06-12": "Queen's Birthday",
+    "1995-08-01": "Emancipation Day",
+    "1995-09-29": "National Youth Day",
+    "1995-10-09": "Columbus Day",
+    "1995-11-24": "National Day of Thanksgiving",
+    "1995-12-25": "Christmas Day",
+    "1995-12-26": "Boxing Day",
+    "1996-01-01": "New Year's Day",
+    "1996-03-11": "Commonwealth Day",
+    "1996-04-05": "Good Friday",
+    "1996-04-08": "Easter Monday",
+    "1996-05-27": "National Heroes Day",
+    "1996-06-10": "Queen's Birthday",
+    "1996-08-01": "Emancipation Day",
+    "1996-09-27": "National Youth Day",
+    "1996-10-14": "Columbus Day",
+    "1996-11-22": "National Day of Thanksgiving",
+    "1996-12-25": "Christmas Day",
+    "1996-12-26": "Boxing Day",
+    "1997-01-01": "New Year's Day",
+    "1997-03-10": "Commonwealth Day",
+    "1997-03-28": "Good Friday",
+    "1997-03-31": "Easter Monday",
+    "1997-05-26": "National Heroes Day",
+    "1997-06-09": "Queen's Birthday",
+    "1997-08-01": "Emancipation Day",
+    "1997-09-26": "National Youth Day",
+    "1997-10-13": "Columbus Day",
+    "1997-11-28": "National Day of Thanksgiving",
+    "1997-12-25": "Christmas Day",
+    "1997-12-26": "Boxing Day",
+    "1998-01-01": "New Year's Day",
+    "1998-03-09": "Commonwealth Day",
+    "1998-04-10": "Good Friday",
+    "1998-04-13": "Easter Monday",
+    "1998-05-25": "National Heroes Day",
+    "1998-06-08": "Queen's Birthday",
+    "1998-08-01": "Emancipation Day",
+    "1998-08-03": "Emancipation Day (observed)",
+    "1998-09-25": "National Youth Day",
+    "1998-10-12": "Columbus Day",
+    "1998-11-27": "National Day of Thanksgiving",
+    "1998-12-25": "Christmas Day",
+    "1998-12-26": "Boxing Day",
+    "1998-12-28": "Boxing Day (observed)",
+    "1999-01-01": "New Year's Day",
+    "1999-03-08": "Commonwealth Day",
+    "1999-04-02": "Good Friday",
+    "1999-04-05": "Easter Monday",
+    "1999-05-31": "National Heroes Day",
+    "1999-06-14": "Queen's Birthday",
+    "1999-08-01": "Emancipation Day",
+    "1999-08-02": "Emancipation Day (observed)",
+    "1999-09-24": "National Youth Day",
+    "1999-10-11": "Columbus Day",
+    "1999-11-26": "National Day of Thanksgiving",
+    "1999-12-25": "Christmas Day",
+    "1999-12-26": "Boxing Day",
+    "1999-12-27": "Christmas Day (observed)",
+    "1999-12-28": "Boxing Day (observed)",
+    "2000-01-01": "New Year's Day",
+    "2000-01-03": "New Year's Day (observed)",
+    "2000-03-13": "Commonwealth Day",
+    "2000-04-21": "Good Friday",
+    "2000-04-24": "Easter Monday",
+    "2000-05-29": "National Heroes Day",
+    "2000-06-12": "Queen's Birthday",
+    "2000-08-01": "Emancipation Day",
+    "2000-09-29": "National Youth Day",
+    "2000-10-09": "Columbus Day",
+    "2000-11-24": "National Day of Thanksgiving",
+    "2000-12-25": "Christmas Day",
+    "2000-12-26": "Boxing Day",
+    "2001-01-01": "New Year's Day",
+    "2001-03-12": "Commonwealth Day",
+    "2001-04-13": "Good Friday",
+    "2001-04-16": "Easter Monday",
+    "2001-05-28": "National Heroes Day",
+    "2001-06-11": "Queen's Birthday",
+    "2001-08-01": "Emancipation Day",
+    "2001-09-28": "National Youth Day",
+    "2001-10-08": "Columbus Day",
+    "2001-11-23": "National Day of Thanksgiving",
+    "2001-12-25": "Christmas Day",
+    "2001-12-26": "Boxing Day",
+    "2002-01-01": "New Year's Day",
+    "2002-03-11": "Commonwealth Day",
+    "2002-03-29": "Good Friday",
+    "2002-04-01": "Easter Monday",
+    "2002-05-27": "National Heroes Day",
+    "2002-06-10": "Queen's Birthday",
+    "2002-08-01": "Emancipation Day",
+    "2002-09-27": "National Youth Day",
+    "2002-10-14": "Columbus Day",
+    "2002-11-22": "National Day of Thanksgiving",
+    "2002-12-25": "Christmas Day",
+    "2002-12-26": "Boxing Day",
+    "2003-01-01": "New Year's Day",
+    "2003-03-10": "Commonwealth Day",
+    "2003-04-18": "Good Friday",
+    "2003-04-21": "Easter Monday",
+    "2003-05-26": "National Heroes Day",
+    "2003-06-09": "Queen's Birthday",
+    "2003-08-01": "Emancipation Day",
+    "2003-09-26": "National Youth Day",
+    "2003-10-13": "Columbus Day",
+    "2003-11-28": "National Day of Thanksgiving",
+    "2003-12-25": "Christmas Day",
+    "2003-12-26": "Boxing Day",
+    "2004-01-01": "New Year's Day",
+    "2004-03-08": "Commonwealth Day",
+    "2004-04-09": "Good Friday",
+    "2004-04-12": "Easter Monday",
+    "2004-05-31": "National Heroes Day",
+    "2004-06-14": "Queen's Birthday",
+    "2004-08-01": "Emancipation Day",
+    "2004-08-02": "Emancipation Day (observed)",
+    "2004-09-24": "National Youth Day",
+    "2004-10-11": "Columbus Day",
+    "2004-11-26": "National Day of Thanksgiving",
+    "2004-12-25": "Christmas Day",
+    "2004-12-26": "Boxing Day",
+    "2004-12-27": "Christmas Day (observed)",
+    "2004-12-28": "Boxing Day (observed)",
+    "2005-01-01": "New Year's Day",
+    "2005-01-03": "New Year's Day (observed)",
+    "2005-03-14": "Commonwealth Day",
+    "2005-03-25": "Good Friday",
+    "2005-03-28": "Easter Monday",
+    "2005-05-30": "National Heroes Day",
+    "2005-06-13": "Queen's Birthday",
+    "2005-08-01": "Emancipation Day",
+    "2005-09-30": "National Youth Day",
+    "2005-10-10": "Columbus Day",
+    "2005-11-25": "National Day of Thanksgiving",
+    "2005-12-25": "Christmas Day",
+    "2005-12-26": "Boxing Day",
+    "2005-12-27": "Christmas Day (observed)",
+    "2006-01-01": "New Year's Day",
+    "2006-01-02": "New Year's Day (observed)",
+    "2006-03-13": "Commonwealth Day",
+    "2006-04-14": "Good Friday",
+    "2006-04-17": "Easter Monday",
+    "2006-05-29": "National Heroes Day",
+    "2006-06-12": "Queen's Birthday",
+    "2006-08-01": "Emancipation Day",
+    "2006-09-29": "National Youth Day",
+    "2006-10-09": "Columbus Day",
+    "2006-11-24": "National Day of Thanksgiving",
+    "2006-12-25": "Christmas Day",
+    "2006-12-26": "Boxing Day",
+    "2007-01-01": "New Year's Day",
+    "2007-03-12": "Commonwealth Day",
+    "2007-04-06": "Good Friday",
+    "2007-04-09": "Easter Monday",
+    "2007-05-28": "National Heroes Day",
+    "2007-06-11": "Queen's Birthday",
+    "2007-08-01": "Emancipation Day",
+    "2007-09-28": "National Youth Day",
+    "2007-10-08": "Columbus Day",
+    "2007-11-23": "National Day of Thanksgiving",
+    "2007-12-25": "Christmas Day",
+    "2007-12-26": "Boxing Day",
+    "2008-01-01": "New Year's Day",
+    "2008-03-10": "Commonwealth Day",
+    "2008-03-21": "Good Friday",
+    "2008-03-24": "Easter Monday",
+    "2008-05-26": "National Heroes Day",
+    "2008-06-09": "Queen's Birthday",
+    "2008-08-01": "Emancipation Day",
+    "2008-09-26": "National Youth Day",
+    "2008-10-13": "Columbus Day",
+    "2008-11-28": "National Day of Thanksgiving",
+    "2008-12-25": "Christmas Day",
+    "2008-12-26": "Boxing Day",
+    "2009-01-01": "New Year's Day",
+    "2009-03-09": "Commonwealth Day",
+    "2009-04-10": "Good Friday",
+    "2009-04-13": "Easter Monday",
+    "2009-05-25": "National Heroes Day",
+    "2009-06-08": "Queen's Birthday",
+    "2009-08-01": "Emancipation Day",
+    "2009-08-03": "Emancipation Day (observed)",
+    "2009-09-25": "National Youth Day",
+    "2009-10-12": "Columbus Day",
+    "2009-11-27": "National Day of Thanksgiving",
+    "2009-12-25": "Christmas Day",
+    "2009-12-26": "Boxing Day",
+    "2009-12-28": "Boxing Day (observed)",
+    "2010-01-01": "New Year's Day",
+    "2010-03-08": "Commonwealth Day",
+    "2010-04-02": "Good Friday",
+    "2010-04-05": "Easter Monday",
+    "2010-05-31": "National Heroes Day",
+    "2010-06-14": "Queen's Birthday",
+    "2010-08-01": "Emancipation Day",
+    "2010-08-02": "Emancipation Day (observed)",
+    "2010-09-24": "National Youth Day",
+    "2010-10-11": "Columbus Day",
+    "2010-11-26": "National Day of Thanksgiving",
+    "2010-12-25": "Christmas Day",
+    "2010-12-26": "Boxing Day",
+    "2010-12-27": "Christmas Day (observed)",
+    "2010-12-28": "Boxing Day (observed)",
+    "2011-01-01": "New Year's Day",
+    "2011-01-03": "New Year's Day (observed)",
+    "2011-03-14": "Commonwealth Day",
+    "2011-04-22": "Good Friday",
+    "2011-04-25": "Easter Monday",
+    "2011-05-30": "National Heroes Day",
+    "2011-06-13": "Queen's Birthday",
+    "2011-08-01": "Emancipation Day",
+    "2011-09-30": "National Youth Day",
+    "2011-10-10": "Columbus Day",
+    "2011-11-25": "National Day of Thanksgiving",
+    "2011-12-25": "Christmas Day",
+    "2011-12-26": "Boxing Day",
+    "2011-12-27": "Christmas Day (observed)",
+    "2012-01-01": "New Year's Day",
+    "2012-01-02": "New Year's Day (observed)",
+    "2012-03-12": "Commonwealth Day",
+    "2012-04-06": "Good Friday",
+    "2012-04-09": "Easter Monday",
+    "2012-05-28": "National Heroes Day",
+    "2012-06-11": "Queen's Birthday",
+    "2012-08-01": "Emancipation Day",
+    "2012-09-28": "National Youth Day",
+    "2012-10-08": "Columbus Day",
+    "2012-11-23": "National Day of Thanksgiving",
+    "2012-12-25": "Christmas Day",
+    "2012-12-26": "Boxing Day",
+    "2013-01-01": "New Year's Day",
+    "2013-03-11": "Commonwealth Day",
+    "2013-03-29": "Good Friday",
+    "2013-04-01": "Easter Monday",
+    "2013-05-27": "National Heroes Day",
+    "2013-06-10": "Queen's Birthday",
+    "2013-08-01": "Emancipation Day",
+    "2013-09-27": "National Youth Day",
+    "2013-10-14": "Columbus Day",
+    "2013-11-22": "National Day of Thanksgiving",
+    "2013-12-25": "Christmas Day",
+    "2013-12-26": "Boxing Day",
+    "2014-01-01": "New Year's Day",
+    "2014-03-10": "Commonwealth Day",
+    "2014-04-18": "Good Friday",
+    "2014-04-21": "Easter Monday",
+    "2014-05-26": "National Heroes Day",
+    "2014-06-09": "Queen's Birthday",
+    "2014-08-01": "Emancipation Day",
+    "2014-09-26": "National Youth Day",
+    "2014-10-13": "National Heritage Day",
+    "2014-11-28": "National Day of Thanksgiving",
+    "2014-12-25": "Christmas Day",
+    "2014-12-26": "Boxing Day",
+    "2015-01-01": "New Year's Day",
+    "2015-03-09": "Commonwealth Day",
+    "2015-04-03": "Good Friday",
+    "2015-04-06": "Easter Monday",
+    "2015-05-25": "National Heroes Day",
+    "2015-06-08": "Queen's Birthday",
+    "2015-08-01": "Emancipation Day",
+    "2015-08-03": "Emancipation Day (observed)",
+    "2015-09-25": "National Youth Day",
+    "2015-10-12": "National Heritage Day",
+    "2015-11-27": "National Day of Thanksgiving",
+    "2015-12-25": "Christmas Day",
+    "2015-12-26": "Boxing Day",
+    "2015-12-28": "Boxing Day (observed)",
+    "2016-01-01": "New Year's Day",
+    "2016-03-14": "Commonwealth Day",
+    "2016-03-25": "Good Friday",
+    "2016-03-28": "Easter Monday",
+    "2016-05-30": "National Heroes Day",
+    "2016-06-13": "Queen's Birthday",
+    "2016-08-01": "Emancipation Day",
+    "2016-09-30": "National Youth Day",
+    "2016-10-10": "National Heritage Day",
+    "2016-11-25": "National Day of Thanksgiving",
+    "2016-12-25": "Christmas Day",
+    "2016-12-26": "Boxing Day",
+    "2016-12-27": "Christmas Day (observed)",
+    "2017-01-01": "New Year's Day",
+    "2017-01-02": "New Year's Day (observed)",
+    "2017-03-13": "Commonwealth Day",
+    "2017-04-14": "Good Friday",
+    "2017-04-17": "Easter Monday",
+    "2017-05-29": "National Heroes Day",
+    "2017-06-12": "Queen's Birthday",
+    "2017-08-01": "Emancipation Day",
+    "2017-09-29": "National Youth Day",
+    "2017-10-09": "National Heritage Day",
+    "2017-11-24": "National Day of Thanksgiving",
+    "2017-12-25": "Christmas Day",
+    "2017-12-26": "Boxing Day",
+    "2018-01-01": "New Year's Day",
+    "2018-03-12": "Commonwealth Day",
+    "2018-03-30": "Good Friday",
+    "2018-04-02": "Easter Monday",
+    "2018-05-28": "National Heroes Day",
+    "2018-06-11": "Queen's Birthday",
+    "2018-08-01": "Emancipation Day",
+    "2018-09-28": "National Youth Day",
+    "2018-10-08": "National Heritage Day",
+    "2018-11-23": "National Day of Thanksgiving",
+    "2018-12-25": "Christmas Day",
+    "2018-12-26": "Boxing Day",
+    "2019-01-01": "New Year's Day",
+    "2019-03-11": "Commonwealth Day",
+    "2019-04-19": "Good Friday",
+    "2019-04-22": "Easter Monday",
+    "2019-05-27": "National Heroes Day",
+    "2019-06-10": "Queen's Birthday",
+    "2019-08-01": "Emancipation Day",
+    "2019-09-27": "National Youth Day",
+    "2019-10-14": "National Heritage Day",
+    "2019-11-22": "National Day of Thanksgiving",
+    "2019-12-25": "Christmas Day",
+    "2019-12-26": "Boxing Day",
+    "2020-01-01": "New Year's Day",
+    "2020-03-09": "Commonwealth Day",
+    "2020-04-10": "Good Friday",
+    "2020-04-13": "Easter Monday",
+    "2020-05-25": "JAGS McCartney Day",
+    "2020-06-08": "Queen's Birthday",
+    "2020-08-01": "Emancipation Day",
+    "2020-08-03": "Emancipation Day (observed)",
+    "2020-09-25": "National Youth Day",
+    "2020-10-12": "National Heritage Day",
+    "2020-11-27": "National Day of Thanksgiving",
+    "2020-12-25": "Christmas Day",
+    "2020-12-26": "Boxing Day",
+    "2020-12-28": "Boxing Day (observed)",
+    "2021-01-01": "New Year's Day",
+    "2021-03-08": "Commonwealth Day",
+    "2021-04-02": "Good Friday",
+    "2021-04-05": "Easter Monday",
+    "2021-05-31": "JAGS McCartney Day",
+    "2021-06-14": "Queen's Birthday",
+    "2021-08-01": "Emancipation Day",
+    "2021-08-02": "Emancipation Day (observed)",
+    "2021-09-24": "National Youth Day",
+    "2021-10-11": "National Heritage Day",
+    "2021-11-26": "National Day of Thanksgiving",
+    "2021-12-25": "Christmas Day",
+    "2021-12-26": "Boxing Day",
+    "2021-12-27": "Christmas Day (observed)",
+    "2021-12-28": "Boxing Day (observed)",
+    "2022-01-01": "New Year's Day",
+    "2022-01-03": "New Year's Day (observed)",
+    "2022-03-14": "Commonwealth Day",
+    "2022-04-15": "Good Friday",
+    "2022-04-18": "Easter Monday",
+    "2022-05-30": "JAGS McCartney Day",
+    "2022-06-03": "Queen's Birthday",
+    "2022-08-01": "Emancipation Day",
+    "2022-09-30": "National Youth Day",
+    "2022-10-10": "National Heritage Day",
+    "2022-11-25": "National Day of Thanksgiving",
+    "2022-12-25": "Christmas Day",
+    "2022-12-26": "Boxing Day",
+    "2022-12-27": "Christmas Day (observed)",
+    "2023-01-01": "New Year's Day",
+    "2023-01-02": "New Year's Day (observed)",
+    "2023-03-13": "Commonwealth Day",
+    "2023-04-07": "Good Friday",
+    "2023-04-10": "Easter Monday",
+    "2023-05-29": "JAGS McCartney Day",
+    "2023-06-19": "King's Birthday",
+    "2023-08-01": "Emancipation Day",
+    "2023-09-29": "National Youth Day",
+    "2023-10-09": "National Heritage Day",
+    "2023-11-24": "National Day of Thanksgiving",
+    "2023-12-25": "Christmas Day",
+    "2023-12-26": "Boxing Day",
+    "2024-01-01": "New Year's Day",
+    "2024-03-11": "Commonwealth Day",
+    "2024-03-29": "Good Friday",
+    "2024-04-01": "Easter Monday",
+    "2024-05-27": "JAGS McCartney Day",
+    "2024-06-17": "King's Birthday",
+    "2024-08-01": "Emancipation Day",
+    "2024-09-27": "National Youth Day",
+    "2024-10-14": "National Heritage Day",
+    "2024-11-22": "National Day of Thanksgiving",
+    "2024-12-25": "Christmas Day",
+    "2024-12-26": "Boxing Day",
+    "2025-01-01": "New Year's Day",
+    "2025-03-10": "Commonwealth Day",
+    "2025-04-18": "Good Friday",
+    "2025-04-21": "Easter Monday",
+    "2025-05-26": "JAGS McCartney Day",
+    "2025-06-23": "King's Birthday",
+    "2025-08-01": "Emancipation Day",
+    "2025-09-26": "National Youth Day",
+    "2025-10-13": "National Heritage Day",
+    "2025-11-28": "National Day of Thanksgiving",
+    "2025-12-25": "Christmas Day",
+    "2025-12-26": "Boxing Day",
+    "2026-01-01": "New Year's Day",
+    "2026-03-09": "Commonwealth Day",
+    "2026-04-03": "Good Friday",
+    "2026-04-06": "Easter Monday",
+    "2026-05-25": "JAGS McCartney Day",
+    "2026-06-08": "King's Birthday",
+    "2026-08-01": "Emancipation Day",
+    "2026-08-03": "Emancipation Day (observed)",
+    "2026-09-25": "National Youth Day",
+    "2026-10-12": "National Heritage Day",
+    "2026-11-27": "National Day of Thanksgiving",
+    "2026-12-25": "Christmas Day",
+    "2026-12-26": "Boxing Day",
+    "2026-12-28": "Boxing Day (observed)",
+    "2027-01-01": "New Year's Day",
+    "2027-03-08": "Commonwealth Day",
+    "2027-03-26": "Good Friday",
+    "2027-03-29": "Easter Monday",
+    "2027-05-31": "JAGS McCartney Day",
+    "2027-06-14": "King's Birthday",
+    "2027-08-01": "Emancipation Day",
+    "2027-08-02": "Emancipation Day (observed)",
+    "2027-09-24": "National Youth Day",
+    "2027-10-11": "National Heritage Day",
+    "2027-11-26": "National Day of Thanksgiving",
+    "2027-12-25": "Christmas Day",
+    "2027-12-26": "Boxing Day",
+    "2027-12-27": "Christmas Day (observed)",
+    "2027-12-28": "Boxing Day (observed)",
+    "2028-01-01": "New Year's Day",
+    "2028-01-03": "New Year's Day (observed)",
+    "2028-03-13": "Commonwealth Day",
+    "2028-04-14": "Good Friday",
+    "2028-04-17": "Easter Monday",
+    "2028-05-29": "JAGS McCartney Day",
+    "2028-06-12": "King's Birthday",
+    "2028-08-01": "Emancipation Day",
+    "2028-09-29": "National Youth Day",
+    "2028-10-09": "National Heritage Day",
+    "2028-11-24": "National Day of Thanksgiving",
+    "2028-12-25": "Christmas Day",
+    "2028-12-26": "Boxing Day",
+    "2029-01-01": "New Year's Day",
+    "2029-03-12": "Commonwealth Day",
+    "2029-03-30": "Good Friday",
+    "2029-04-02": "Easter Monday",
+    "2029-05-28": "JAGS McCartney Day",
+    "2029-06-11": "King's Birthday",
+    "2029-08-01": "Emancipation Day",
+    "2029-09-28": "National Youth Day",
+    "2029-10-08": "National Heritage Day",
+    "2029-11-23": "National Day of Thanksgiving",
+    "2029-12-25": "Christmas Day",
+    "2029-12-26": "Boxing Day",
+    "2030-01-01": "New Year's Day",
+    "2030-03-11": "Commonwealth Day",
+    "2030-04-19": "Good Friday",
+    "2030-04-22": "Easter Monday",
+    "2030-05-27": "JAGS McCartney Day",
+    "2030-06-10": "King's Birthday",
+    "2030-08-01": "Emancipation Day",
+    "2030-09-27": "National Youth Day",
+    "2030-10-14": "National Heritage Day",
+    "2030-11-22": "National Day of Thanksgiving",
+    "2030-12-25": "Christmas Day",
+    "2030-12-26": "Boxing Day",
+    "2031-01-01": "New Year's Day",
+    "2031-03-10": "Commonwealth Day",
+    "2031-04-11": "Good Friday",
+    "2031-04-14": "Easter Monday",
+    "2031-05-26": "JAGS McCartney Day",
+    "2031-06-09": "King's Birthday",
+    "2031-08-01": "Emancipation Day",
+    "2031-09-26": "National Youth Day",
+    "2031-10-13": "National Heritage Day",
+    "2031-11-28": "National Day of Thanksgiving",
+    "2031-12-25": "Christmas Day",
+    "2031-12-26": "Boxing Day",
+    "2032-01-01": "New Year's Day",
+    "2032-03-08": "Commonwealth Day",
+    "2032-03-26": "Good Friday",
+    "2032-03-29": "Easter Monday",
+    "2032-05-31": "JAGS McCartney Day",
+    "2032-06-14": "King's Birthday",
+    "2032-08-01": "Emancipation Day",
+    "2032-08-02": "Emancipation Day (observed)",
+    "2032-09-24": "National Youth Day",
+    "2032-10-11": "National Heritage Day",
+    "2032-11-26": "National Day of Thanksgiving",
+    "2032-12-25": "Christmas Day",
+    "2032-12-26": "Boxing Day",
+    "2032-12-27": "Christmas Day (observed)",
+    "2032-12-28": "Boxing Day (observed)",
+    "2033-01-01": "New Year's Day",
+    "2033-01-03": "New Year's Day (observed)",
+    "2033-03-14": "Commonwealth Day",
+    "2033-04-15": "Good Friday",
+    "2033-04-18": "Easter Monday",
+    "2033-05-30": "JAGS McCartney Day",
+    "2033-06-13": "King's Birthday",
+    "2033-08-01": "Emancipation Day",
+    "2033-09-30": "National Youth Day",
+    "2033-10-10": "National Heritage Day",
+    "2033-11-25": "National Day of Thanksgiving",
+    "2033-12-25": "Christmas Day",
+    "2033-12-26": "Boxing Day",
+    "2033-12-27": "Christmas Day (observed)",
+    "2034-01-01": "New Year's Day",
+    "2034-01-02": "New Year's Day (observed)",
+    "2034-03-13": "Commonwealth Day",
+    "2034-04-07": "Good Friday",
+    "2034-04-10": "Easter Monday",
+    "2034-05-29": "JAGS McCartney Day",
+    "2034-06-12": "King's Birthday",
+    "2034-08-01": "Emancipation Day",
+    "2034-09-29": "National Youth Day",
+    "2034-10-09": "National Heritage Day",
+    "2034-11-24": "National Day of Thanksgiving",
+    "2034-12-25": "Christmas Day",
+    "2034-12-26": "Boxing Day",
+    "2035-01-01": "New Year's Day",
+    "2035-03-12": "Commonwealth Day",
+    "2035-03-23": "Good Friday",
+    "2035-03-26": "Easter Monday",
+    "2035-05-28": "JAGS McCartney Day",
+    "2035-06-11": "King's Birthday",
+    "2035-08-01": "Emancipation Day",
+    "2035-09-28": "National Youth Day",
+    "2035-10-08": "National Heritage Day",
+    "2035-11-23": "National Day of Thanksgiving",
+    "2035-12-25": "Christmas Day",
+    "2035-12-26": "Boxing Day",
+    "2036-01-01": "New Year's Day",
+    "2036-03-10": "Commonwealth Day",
+    "2036-04-11": "Good Friday",
+    "2036-04-14": "Easter Monday",
+    "2036-05-26": "JAGS McCartney Day",
+    "2036-06-09": "King's Birthday",
+    "2036-08-01": "Emancipation Day",
+    "2036-09-26": "National Youth Day",
+    "2036-10-13": "National Heritage Day",
+    "2036-11-28": "National Day of Thanksgiving",
+    "2036-12-25": "Christmas Day",
+    "2036-12-26": "Boxing Day",
+    "2037-01-01": "New Year's Day",
+    "2037-03-09": "Commonwealth Day",
+    "2037-04-03": "Good Friday",
+    "2037-04-06": "Easter Monday",
+    "2037-05-25": "JAGS McCartney Day",
+    "2037-06-08": "King's Birthday",
+    "2037-08-01": "Emancipation Day",
+    "2037-08-03": "Emancipation Day (observed)",
+    "2037-09-25": "National Youth Day",
+    "2037-10-12": "National Heritage Day",
+    "2037-11-27": "National Day of Thanksgiving",
+    "2037-12-25": "Christmas Day",
+    "2037-12-26": "Boxing Day",
+    "2037-12-28": "Boxing Day (observed)",
+    "2038-01-01": "New Year's Day",
+    "2038-03-08": "Commonwealth Day",
+    "2038-04-23": "Good Friday",
+    "2038-04-26": "Easter Monday",
+    "2038-05-31": "JAGS McCartney Day",
+    "2038-06-14": "King's Birthday",
+    "2038-08-01": "Emancipation Day",
+    "2038-08-02": "Emancipation Day (observed)",
+    "2038-09-24": "National Youth Day",
+    "2038-10-11": "National Heritage Day",
+    "2038-11-26": "National Day of Thanksgiving",
+    "2038-12-25": "Christmas Day",
+    "2038-12-26": "Boxing Day",
+    "2038-12-27": "Christmas Day (observed)",
+    "2038-12-28": "Boxing Day (observed)",
+    "2039-01-01": "New Year's Day",
+    "2039-01-03": "New Year's Day (observed)",
+    "2039-03-14": "Commonwealth Day",
+    "2039-04-08": "Good Friday",
+    "2039-04-11": "Easter Monday",
+    "2039-05-30": "JAGS McCartney Day",
+    "2039-06-13": "King's Birthday",
+    "2039-08-01": "Emancipation Day",
+    "2039-09-30": "National Youth Day",
+    "2039-10-10": "National Heritage Day",
+    "2039-11-25": "National Day of Thanksgiving",
+    "2039-12-25": "Christmas Day",
+    "2039-12-26": "Boxing Day",
+    "2039-12-27": "Christmas Day (observed)",
+    "2040-01-01": "New Year's Day",
+    "2040-01-02": "New Year's Day (observed)",
+    "2040-03-12": "Commonwealth Day",
+    "2040-03-30": "Good Friday",
+    "2040-04-02": "Easter Monday",
+    "2040-05-28": "JAGS McCartney Day",
+    "2040-06-11": "King's Birthday",
+    "2040-08-01": "Emancipation Day",
+    "2040-09-28": "National Youth Day",
+    "2040-10-08": "National Heritage Day",
+    "2040-11-23": "National Day of Thanksgiving",
+    "2040-12-25": "Christmas Day",
+    "2040-12-26": "Boxing Day",
+    "2041-01-01": "New Year's Day",
+    "2041-03-11": "Commonwealth Day",
+    "2041-04-19": "Good Friday",
+    "2041-04-22": "Easter Monday",
+    "2041-05-27": "JAGS McCartney Day",
+    "2041-06-10": "King's Birthday",
+    "2041-08-01": "Emancipation Day",
+    "2041-09-27": "National Youth Day",
+    "2041-10-14": "National Heritage Day",
+    "2041-11-22": "National Day of Thanksgiving",
+    "2041-12-25": "Christmas Day",
+    "2041-12-26": "Boxing Day",
+    "2042-01-01": "New Year's Day",
+    "2042-03-10": "Commonwealth Day",
+    "2042-04-04": "Good Friday",
+    "2042-04-07": "Easter Monday",
+    "2042-05-26": "JAGS McCartney Day",
+    "2042-06-09": "King's Birthday",
+    "2042-08-01": "Emancipation Day",
+    "2042-09-26": "National Youth Day",
+    "2042-10-13": "National Heritage Day",
+    "2042-11-28": "National Day of Thanksgiving",
+    "2042-12-25": "Christmas Day",
+    "2042-12-26": "Boxing Day",
+    "2043-01-01": "New Year's Day",
+    "2043-03-09": "Commonwealth Day",
+    "2043-03-27": "Good Friday",
+    "2043-03-30": "Easter Monday",
+    "2043-05-25": "JAGS McCartney Day",
+    "2043-06-08": "King's Birthday",
+    "2043-08-01": "Emancipation Day",
+    "2043-08-03": "Emancipation Day (observed)",
+    "2043-09-25": "National Youth Day",
+    "2043-10-12": "National Heritage Day",
+    "2043-11-27": "National Day of Thanksgiving",
+    "2043-12-25": "Christmas Day",
+    "2043-12-26": "Boxing Day",
+    "2043-12-28": "Boxing Day (observed)",
+    "2044-01-01": "New Year's Day",
+    "2044-03-14": "Commonwealth Day",
+    "2044-04-15": "Good Friday",
+    "2044-04-18": "Easter Monday",
+    "2044-05-30": "JAGS McCartney Day",
+    "2044-06-13": "King's Birthday",
+    "2044-08-01": "Emancipation Day",
+    "2044-09-30": "National Youth Day",
+    "2044-10-10": "National Heritage Day",
+    "2044-11-25": "National Day of Thanksgiving",
+    "2044-12-25": "Christmas Day",
+    "2044-12-26": "Boxing Day",
+    "2044-12-27": "Christmas Day (observed)",
+    "2045-01-01": "New Year's Day",
+    "2045-01-02": "New Year's Day (observed)",
+    "2045-03-13": "Commonwealth Day",
+    "2045-04-07": "Good Friday",
+    "2045-04-10": "Easter Monday",
+    "2045-05-29": "JAGS McCartney Day",
+    "2045-06-12": "King's Birthday",
+    "2045-08-01": "Emancipation Day",
+    "2045-09-29": "National Youth Day",
+    "2045-10-09": "National Heritage Day",
+    "2045-11-24": "National Day of Thanksgiving",
+    "2045-12-25": "Christmas Day",
+    "2045-12-26": "Boxing Day",
+    "2046-01-01": "New Year's Day",
+    "2046-03-12": "Commonwealth Day",
+    "2046-03-23": "Good Friday",
+    "2046-03-26": "Easter Monday",
+    "2046-05-28": "JAGS McCartney Day",
+    "2046-06-11": "King's Birthday",
+    "2046-08-01": "Emancipation Day",
+    "2046-09-28": "National Youth Day",
+    "2046-10-08": "National Heritage Day",
+    "2046-11-23": "National Day of Thanksgiving",
+    "2046-12-25": "Christmas Day",
+    "2046-12-26": "Boxing Day",
+    "2047-01-01": "New Year's Day",
+    "2047-03-11": "Commonwealth Day",
+    "2047-04-12": "Good Friday",
+    "2047-04-15": "Easter Monday",
+    "2047-05-27": "JAGS McCartney Day",
+    "2047-06-10": "King's Birthday",
+    "2047-08-01": "Emancipation Day",
+    "2047-09-27": "National Youth Day",
+    "2047-10-14": "National Heritage Day",
+    "2047-11-22": "National Day of Thanksgiving",
+    "2047-12-25": "Christmas Day",
+    "2047-12-26": "Boxing Day",
+    "2048-01-01": "New Year's Day",
+    "2048-03-09": "Commonwealth Day",
+    "2048-04-03": "Good Friday",
+    "2048-04-06": "Easter Monday",
+    "2048-05-25": "JAGS McCartney Day",
+    "2048-06-08": "King's Birthday",
+    "2048-08-01": "Emancipation Day",
+    "2048-08-03": "Emancipation Day (observed)",
+    "2048-09-25": "National Youth Day",
+    "2048-10-12": "National Heritage Day",
+    "2048-11-27": "National Day of Thanksgiving",
+    "2048-12-25": "Christmas Day",
+    "2048-12-26": "Boxing Day",
+    "2048-12-28": "Boxing Day (observed)",
+    "2049-01-01": "New Year's Day",
+    "2049-03-08": "Commonwealth Day",
+    "2049-04-16": "Good Friday",
+    "2049-04-19": "Easter Monday",
+    "2049-05-31": "JAGS McCartney Day",
+    "2049-06-14": "King's Birthday",
+    "2049-08-01": "Emancipation Day",
+    "2049-08-02": "Emancipation Day (observed)",
+    "2049-09-24": "National Youth Day",
+    "2049-10-11": "National Heritage Day",
+    "2049-11-26": "National Day of Thanksgiving",
+    "2049-12-25": "Christmas Day",
+    "2049-12-26": "Boxing Day",
+    "2049-12-27": "Christmas Day (observed)",
+    "2049-12-28": "Boxing Day (observed)",
+    "2050-01-01": "New Year's Day",
+    "2050-01-03": "New Year's Day (observed)",
+    "2050-03-14": "Commonwealth Day",
+    "2050-04-08": "Good Friday",
+    "2050-04-11": "Easter Monday",
+    "2050-05-30": "JAGS McCartney Day",
+    "2050-06-13": "King's Birthday",
+    "2050-08-01": "Emancipation Day",
+    "2050-09-30": "National Youth Day",
+    "2050-10-10": "National Heritage Day",
+    "2050-11-25": "National Day of Thanksgiving",
+    "2050-12-25": "Christmas Day",
+    "2050-12-26": "Boxing Day",
+    "2050-12-27": "Christmas Day (observed)"
+}


Test patch:
diff --git a/tests/countries/test_french_southern_territories.py b/tests/countries/test_french_southern_territories.py
index f309e9d6..35777a4d 100644
--- a/tests/countries/test_french_southern_territories.py
+++ b/tests/countries/test_french_southern_territories.py
@@ -29,6 +29,9 @@ class TestTF(CommonCountryTests, TestCase):
     def test_country_aliases(self):
         self.assertAliases(HolidaysTF, FrenchSouthernTerritories, TF, ATF)
 
+    def test_no_holidays(self):
+        self.assertNoHolidays(FrenchSouthernTerritories(years=1955))
+
     def test_2022(self):
         self.assertHolidayDates(
             HolidaysTF(years=2022),
diff --git a/tests/countries/test_turks_and_caicos_islands.py b/tests/countries/test_turks_and_caicos_islands.py
new file mode 100644
index 00000000..a6d341cd
--- /dev/null
+++ b/tests/countries/test_turks_and_caicos_islands.py
@@ -0,0 +1,282 @@
+#  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 CONTRIBUTORS file)
+#           dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
+#           ryanss <ryanssdev@icloud.com> (c) 2014-2017
+#  Website: https://github.com/vacanza/holidays
+#  License: MIT (see LICENSE file)
+
+from unittest import TestCase
+
+from holidays.countries.turks_and_caicos_islands import TurksAndCaicosIslands, TC, TCA
+from tests.common import CommonCountryTests
+
+
+class TestTC(CommonCountryTests, TestCase):
+    @classmethod
+    def setUpClass(cls):
+        super().setUpClass(TurksAndCaicosIslands, years=range(1963, 2050))
+
+    def test_country_aliases(self):
+        self.assertAliases(TurksAndCaicosIslands, TC, TCA)
+
+    def test_no_holidays(self):
+        self.assertNoHolidays(TurksAndCaicosIslands(years=1962))
+
+    def test_new_years_day(self):
+        name = "New Year's Day"
+        self.assertHolidayName(name, (f"{year}-01-01" for year in range(1963, 2050)))
+        obs_dt = (
+            "2000-01-03",
+            "2005-01-03",
+            "2006-01-02",
+            "2011-01-03",
+            "2012-01-02",
+            "2017-01-02",
+            "2022-01-03",
+            "2023-01-02",
+        )
+        self.assertHolidayName(f"{name} (observed)", obs_dt)
+        self.assertNoNonObservedHoliday(obs_dt)
+
+    def test_commonwealth_day(self):
+        name = "Commonwealth Day"
+        self.assertHolidayName(
+            name,
+            "2020-03-09",
+            "2021-03-08",
+            "2022-03-14",
+            "2023-03-13",
+            "2024-03-11",
+            "2025-03-10",
+        )
+        self.assertHolidayName(name, range(1963, 2050))
+
+    def test_good_friday(self):
+        name = "Good Friday"
+        self.assertHolidayName(
+            name,
+            "2020-04-10",
+            "2021-04-02",
+            "2022-04-15",
+            "2023-04-07",
+            "2024-03-29",
+            "2025-04-18",
+        )
+        self.assertHolidayName(name, range(1963, 2050))
+
+    def test_easter_monday(self):
+        name = "Easter Monday"
+        self.assertHolidayName(
+            name,
+            "2020-04-13",
+            "2021-04-05",
+            "2022-04-18",
+            "2023-04-10",
+            "2024-04-01",
+            "2025-04-21",
+        )
+        self.assertHolidayName(name, range(1963, 2050))
+
+    def test_jags_mccartney_day(self):
+        name_pre_2020 = "National Heroes Day"
+        name_2020 = "JAGS McCartney Day"
+
+        self.assertHolidayName(
+            name_pre_2020,
+            "2014-05-26",
+            "2015-05-25",
+            "2016-05-30",
+            "2017-05-29",
+            "2018-05-28",
+            "2019-05-27",
+        )
+        self.assertHolidayName(
+            name_2020,
+            "2020-05-25",
+            "2021-05-31",
+            "2022-05-30",
+            "2023-05-29",
+            "2024-05-27",
+            "2025-05-26",
+        )
+
+        self.assertHolidayName(name_pre_2020, range(1963, 2020))
+        self.assertHolidayName(name_2020, range(2020, 2050))
+        self.assertNoHolidayName(name_pre_2020, range(2020, 2050))
+        self.assertNoHolidayName(name_2020, range(1963, 2020))
+
+    def test_sovereign_birthday(self):
+        name_pre_2023 = "Queen's Birthday"
+        name_2023 = "King's Birthday"
+
+        self.assertHolidayName(
+            name_pre_2023,
+            "2017-06-12",
+            "2018-06-11",
+            "2019-06-10",
+            "2020-06-08",
+            "2021-06-14",
+            "2022-06-03",
+        )
+        self.assertHolidayName(
+            name_2023,
+            "2023-06-19",
+            "2024-06-17",
+            "2025-06-23",
+        )
+
+        self.assertHolidayName(name_pre_2023, range(1963, 2023))
+        self.assertHolidayName(name_2023, range(2023, 2050))
+        self.assertNoHolidayName(name_pre_2023, range(2023, 2050))
+        self.assertNoHolidayName(name_2023, range(1963, 2023))
+
+    def test_emancipation_day(self):
+        name = "Emancipation Day"
+        self.assertHolidayName(name, (f"{year}-08-01" for year in range(1963, 2050)))
+        obs_dt = (
+            "2004-08-02",
+            "2009-08-03",
+            "2010-08-02",
+            "2015-08-03",
+            "2020-08-03",
+            "2021-08-02",
+        )
+        self.assertHolidayName(f"{name} (observed)", obs_dt)
+        self.assertNoNonObservedHoliday(obs_dt)
+
+    def test_national_youth_day(self):
+        name = "National Youth Day"
+        self.assertHolidayName(
+            name,
+            "2020-09-25",
+            "2021-09-24",
+            "2022-09-30",
+            "2023-09-29",
+            "2024-09-27",
+            "2025-09-26",
+        )
+        self.assertHolidayName(name, range(1963, 2050))
+
+    def test_national_heritage_day(self):
+        name_pre_2014 = "Columbus Day"
+        name_2014 = "National Heritage Day"
+
+        self.assertHolidayName(
+            name_pre_2014,
+            "2010-10-11",
+            "2011-10-10",
+            "2012-10-08",
+            "2013-10-14",
+        )
+        self.assertHolidayName(
+            name_2014,
+            "2014-10-13",
+            "2015-10-12",
+            "2016-10-10",
+            "2017-10-09",
+            "2018-10-08",
+            "2019-10-14",
+        )
+
+        self.assertHolidayName(name_pre_2014, range(1963, 2014))
+        self.assertHolidayName(name_2014, range(2014, 2050))
+        self.assertNoHolidayName(name_pre_2014, range(2014, 2050))
+        self.assertNoHolidayName(name_2014, range(1963, 2014))
+
+    def test_national_day_of_thanksgiving(self):
+        name = "National Day of Thanksgiving"
+        self.assertHolidayName(
+            name,
+            "2020-11-27",
+            "2021-11-26",
+            "2022-11-25",
+            "2023-11-24",
+            "2024-11-22",
+            "2025-11-28",
+        )
+        self.assertHolidayName(name, range(1963, 2050))
+
+    def test_christmas_day(self):
+        name = "Christmas Day"
+        self.assertHolidayName(name, (f"{year}-12-25" for year in range(1963, 2050)))
+        obs_dt = (
+            "2004-12-27",
+            "2005-12-27",
+            "2010-12-27",
+            "2011-12-27",
+            "2016-12-27",
+            "2021-12-27",
+            "2022-12-27",
+        )
+        self.assertHolidayName(f"{name} (observed)", obs_dt)
+        self.assertNoNonObservedHoliday(obs_dt)
+
+    def test_boxing_day(self):
+        name = "Boxing Day"
+        self.assertHolidayName(name, (f"{year}-12-26" for year in range(1963, 2050)))
+        obs_dt = (
+            "2004-12-28",
+            "2009-12-28",
+            "2010-12-28",
+            "2015-12-28",
+            "2020-12-28",
+            "2021-12-28",
+        )
+        self.assertHolidayName(f"{name} (observed)", obs_dt)
+        self.assertNoNonObservedHoliday(obs_dt)
+
+    def test_2023(self):
+        self.assertHolidays(
+            TurksAndCaicosIslands(years=2023),
+            ("2023-01-01", "New Year's Day"),
+            ("2023-01-02", "New Year's Day (observed)"),
+            ("2023-03-13", "Commonwealth Day"),
+            ("2023-04-07", "Good Friday"),
+            ("2023-04-10", "Easter Monday"),
+            ("2023-05-29", "JAGS McCartney Day"),
+            ("2023-06-19", "King's Birthday"),
+            ("2023-08-01", "Emancipation Day"),
+            ("2023-09-29", "National Youth Day"),
+            ("2023-10-09", "National Heritage Day"),
+            ("2023-11-24", "National Day of Thanksgiving"),
+            ("2023-12-25", "Christmas Day"),
+            ("2023-12-26", "Boxing Day"),
+        )
+
+    def test_l10n_default(self):
+        self.assertLocalizedHolidays(
+            ("2025-01-01", "New Year's Day"),
+            ("2025-03-10", "Commonwealth Day"),
+            ("2025-04-18", "Good Friday"),
+            ("2025-04-21", "Easter Monday"),
+            ("2025-05-26", "JAGS McCartney Day"),
+            ("2025-06-23", "King's Birthday"),
+            ("2025-08-01", "Emancipation Day"),
+            ("2025-09-26", "National Youth Day"),
+            ("2025-10-13", "National Heritage Day"),
+            ("2025-11-28", "National Day of Thanksgiving"),
+            ("2025-12-25", "Christmas Day"),
+            ("2025-12-26", "Boxing Day"),
+        )
+
+    def test_l10n_en_us(self):
+        self.assertLocalizedHolidays(
+            "en_US",
+            ("2025-01-01", "New Year's Day"),
+            ("2025-03-10", "Commonwealth Day"),
+            ("2025-04-18", "Good Friday"),
+            ("2025-04-21", "Easter Monday"),
+            ("2025-05-26", "JAGS McCartney Day"),
+            ("2025-06-23", "King's Birthday"),
+            ("2025-08-01", "Emancipation Day"),
+            ("2025-09-26", "National Youth Day"),
+            ("2025-10-13", "National Heritage Day"),
+            ("2025-11-28", "National Day of Thanksgiving"),
+            ("2025-12-25", "Christmas Day"),
+            ("2025-12-26", "Boxing Day"),
+        )