feriados_pt 0.2.1 copy "feriados_pt: ^0.2.1" to clipboard
feriados_pt: ^0.2.1 copied to clipboard

Portuguese national public holidays for Dart and Flutter. Calculates mandatory holidays for any year, including Easter-based moveable feasts, with correct handling of the 2013–2015 suppression period.

feriados_pt #

Feriados portugueses para Dart e Flutter — nacionais, municipais e regionais.

Os feriados nacionais são calculados localmente (offline). Os feriados municipais e regionais são obtidos através da API da SAPO.

Instalação #

dependencies:
  feriados_pt: ^0.2.1

Utilização #

Feriados nacionais (offline) #

import 'package:feriados_pt/feriados_pt.dart';

// Todos os feriados de um ano
final holidays = getHolidays(2026);
for (final h in holidays) {
  print('${h.date.toIso8601String().substring(0, 10)}  ${h.name}');
}

// Verificar se uma data é feriado
isHoliday(DateTime(2026, 4, 25)); // true

// Obter o feriado de uma data
final h = holidayAt(DateTime(2026, 4, 25));
print(h?.name); // Dia da Liberdade

// Dias úteis excluindo feriados e fins de semana
bool isWorkingDay(DateTime d) =>
    d.weekday != DateTime.saturday &&
    d.weekday != DateTime.sunday &&
    !isHoliday(d);

Feriados municipais e regionais (via API SAPO) #

// Feriados de um município pelo enum
final local = await getHolidaysByMunicipality(2026, Municipio.lisboa);

// Lookup por nome (tolerante a maiúsculas e acentos)
final local = await getHolidaysByMunicipality(2026, Municipio.find('braga'));

// Incluir também os feriados nacionais
final todos = await getHolidaysByMunicipality(
  2026,
  Municipio.porto,
  includeNational: true,
);

// Todos os municipais de Portugal
final municipais = await getMunicipalHolidays(2026);

// Feriados regionais (Açores e Madeira)
final regionais = await getRegionalHolidays(2026);

Feriados nacionais incluídos #

Data Feriado Tipo
1 Jan Ano Novo Fixo
Variável Sexta-feira Santa Móvel
Variável Domingo de Páscoa Móvel
25 Abr Dia da Liberdade Fixo
1 Mai Dia do Trabalhador Fixo
10 Jun Dia de Portugal Fixo
Variável Corpo de Deus (+60 dias após Páscoa) Móvel
15 Ago Assunção de Nossa Senhora Fixo
5 Out Implantação da República Fixo
1 Nov Dia de Todos os Santos Fixo
1 Dez Restauração da Independência Fixo
8 Dez Imaculada Conceição Fixo
25 Dez Natal Fixo

Nota histórica: Entre 2013 e 2015 (Lei 23/2012) foram suprimidos quatro feriados — Corpo de Deus, Dia de Todos os Santos, Restauração da Independência e Imaculada Conceição. Foram repostos em 2016 (Lei 8/2016). O package reflete este histórico automaticamente.

API #

Feriados nacionais #

List<Holiday> getHolidays(int year)

Devolve todos os feriados nacionais obrigatórios para o year indicado, ordenados por data.

bool isHoliday(DateTime date)

Devolve true se date for um feriado nacional. A componente de hora é ignorada.

Holiday? holidayAt(DateTime date)

Devolve o Holiday correspondente a date, ou null se não for feriado.

Feriados municipais e regionais #

Future<List<Holiday>> getHolidaysByMunicipality(int year, Municipio municipio, {bool includeNational})

Devolve os feriados do município indicado para o year. Use includeNational: true para incluir também os nacionais.

Future<List<Holiday>> getMunicipalHolidays(int year)

Devolve todos os feriados municipais de Portugal para o year.

Future<List<Holiday>> getRegionalHolidays(int year)

Devolve os feriados regionais (Açores e Madeira) para o year.

Classe Holiday #

Propriedade Tipo Descrição
date DateTime Data do feriado (meia-noite)
name String Nome oficial em português
kind HolidayKind fixed ou moveable
scope HolidayScope national, regional ou municipal
description String? Descrição opcional (proveniente da API SAPO)

Enum Municipio #

Enum com todos os municípios portugueses suportados pela API SAPO, com id e nome.

Municipio.lisboa.id;    // '1106'
Municipio.lisboa.nome;  // 'Lisboa'

// Lookup por nome
Municipio.find('viana do castelo'); // Municipio.vianaDoCastelo

Para municípios homónimos usa o nome completo: Municipio.lagoaAlgarve / Municipio.lagoaAcores, Municipio.calhetaMadeira / Municipio.calhetaAcores.

Licença #

MIT

0
likes
0
points
197
downloads

Publisher

unverified uploader

Weekly Downloads

Portuguese national public holidays for Dart and Flutter. Calculates mandatory holidays for any year, including Easter-based moveable feasts, with correct handling of the 2013–2015 suppression period.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

http, xml

More

Packages that depend on feriados_pt