Skip to content

feat(BR): add bank holidays for Carnival and Corpus Christi#624

Merged
commenthol merged 1 commit into
commenthol:masterfrom
williammizuta:feat/br-bank-holidays
Jun 21, 2026
Merged

feat(BR): add bank holidays for Carnival and Corpus Christi#624
commenthol merged 1 commit into
commenthol:masterfrom
williammizuta:feat/br-bank-holidays

Conversation

@williammizuta

@williammizuta williammizuta commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds Brazilian bank holidays for Carnival and Corpus Christi, following the Central Bank of Brazil's Resolução CMN nº 4.880 (art. 6), which lists Carnival Monday/Tuesday and Corpus Christi as non-business days for banks even though they are not national public holidays.

Changes (data/countries/BR.yaml)

  • Carnival Monday & Tuesday (easter -48, easter -47) → type: bank.
  • Corpus Christi (easter 60) → reclassified optionalbank.
  • Carnival Saturday & Sunday (easter -50 PT48H) → kept as optional (cultural celebration); this replaces the previous single multi-day easter -50 PT110H entry.
  • Ash Wednesday (easter -46 PT14H) → kept as optional until 14:00 (half-day custom), preserving the original behavior. It is a reduced-hours working day (art. 2), not a closure, so it is not a bank holiday.

Notes

  • Carnival Monday/Tuesday are modeled as two separate rules (not a single multi-day block) so that Rio de Janeiro's state-level public holiday on Carnival Tuesday still takes precedence via type priority. Verified in the RJ fixtures: Tuesday resolves to public, Monday to bank.
  • São Paulo city's public Corpus Christi likewise still overrides the national bank entry.

Source

Resolução CMN nº 4.880, de 23/12/2020 — art. 6
https://www.bcb.gov.br/estabilidadefinanceira/exibenormativo?tipo=Resolu%C3%A7%C3%A3o%20CMN&numero=4880

Testing

  • Regenerated data (npm run yaml) and fixtures (mocha test/all.mocha.js --writetests --countries BR).
  • Full test suite passes (npm test): 5346 passing.
  • Confirmed only BR* fixtures changed; no other countries affected.

Per Resolução CMN nº 4.880 (art. 6), banks do not operate on Carnival
Monday/Tuesday and Corpus Christi, although these are not national public
holidays. Classify them as `type: bank`.

- Carnival Monday/Tuesday (easter -48, easter -47): type bank, kept as two
  separate rules so RJ's state-level public holiday on Carnival Tuesday still
  overrides via type priority.
- Carnival Saturday/Sunday (easter -50 PT48H): kept as optional (celebration);
  replaces the previous single multi-day easter -50 PT110H entry.
- Ash Wednesday (easter -46 PT14H): kept as optional until 14:00 (half-day);
  not a bank holiday, banks open reduced hours (art. 2).
- Corpus Christi (easter 60): reclassified optional -> bank (still public in SP city).

Source: Resolução CMN nº 4.880, de 23/12/2020
https://www.bcb.gov.br/estabilidadefinanceira/exibenormativo?tipo=Resolução%20CMN&numero=4880
@williammizuta williammizuta force-pushed the feat/br-bank-holidays branch from aa6999d to e3c6fd8 Compare June 15, 2026 13:57
@commenthol commenthol merged commit 6a1f6bb into commenthol:master Jun 21, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants