PHPackages                             inovanti-bank/inovanti-holidays - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. inovanti-bank/inovanti-holidays

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

inovanti-bank/inovanti-holidays
===============================

Pacote para gerenciamento de feriados fixos e móveis em Laravel 11+

v1.1.0(1y ago)114MITPHPPHP ^8.0

Since Jan 25Pushed 1y agoCompare

[ Source](https://github.com/Inovanti-Bank/inovanti-holidays)[ Packagist](https://packagist.org/packages/inovanti-bank/inovanti-holidays)[ RSS](/packages/inovanti-bank-inovanti-holidays/feed)WikiDiscussions production Synced 1mo ago

READMEChangelog (2)Dependencies (5)Versions (4)Used By (0)

Inovanti Holidays - Gerenciamento de Feriados
=============================================

[](#inovanti-holidays---gerenciamento-de-feriados)

[![Latest Stable Version](https://camo.githubusercontent.com/c33cb9732e2dabf9a7f2e938257b584b3e43902ab8d60ec5e52147d34262da7a/68747470733a2f2f706f7365722e707567782e6f72672f696e6f76616e74692d62616e6b2f696e6f76616e74692d686f6c69646179732f76)](https://packagist.org/packages/inovanti-bank/inovanti-holidays)[![Total Downloads](https://camo.githubusercontent.com/d59b3ff8cf83cb2f567f7d410d4763fa9bd52ace8741dbba3abee25860ece34b/68747470733a2f2f706f7365722e707567782e6f72672f696e6f76616e74692d62616e6b2f696e6f76616e74692d686f6c69646179732f646f776e6c6f616473)](https://packagist.org/packages/inovanti-bank/inovanti-holidays)[![License](https://camo.githubusercontent.com/70c9eefef696059b1ab15d28f32484c0f71c5f358edddf02b726096d7bc35151/68747470733a2f2f706f7365722e707567782e6f72672f696e6f76616e74692d62616e6b2f696e6f76616e74692d686f6c69646179732f6c6963656e7365)](https://packagist.org/packages/inovanti-bank/inovanti-holidays)[![PHP Version Require](https://camo.githubusercontent.com/57ea2bbc9403af593094b18c4d2c894193446a95038a95911265b2bc1e5df6b5/68747470733a2f2f706f7365722e707567782e6f72672f696e6f76616e74692d62616e6b2f696e6f76616e74692d686f6c69646179732f726571756972652f706870)](https://packagist.org/packages/inovanti-bank/inovanti-holidays)

Introdução
----------

[](#introdução)

O **inovanti-holidays** é um componente Laravel 11 para gerenciamento de feriados nacionais e estaduais. Ele permite:

- ✅ Listar, criar, atualizar e deletar feriados
- ✅ Verificar se uma data é feriado
- ✅ Calcular o próximo dia útil a partir de uma data
- ✅ Popular a tabela de feriados via comando Artisan
- ✅ Gerenciar feriados fixos e móveis
- ✅ Configurar estados e anos desejados
- ✅ Integrar facilmente com outras aplicações Laravel

📦 Instalação
------------

[](#-instalação)

Para instalar o pacote, execute o seguinte comando:

```
composer require inovanti-bank/inovanti-holidays
```

Em seguida, execute as migrations:

```
php artisan migrate
```

---

📌 Modificações e Melhorias na versão 1.1.0
------------------------------------------

[](#-modificações-e-melhorias-na-versão-110)

A versão 1.1.0 introduz melhorias significativas no pacote, incluindo:

- 1️⃣ Validação automática de feriados existentes ao cadastrar ou atualizar um feriado, evitando duplicidades com os mesmos parâmetros.
- 2️⃣ Parâmetro persistent\_for\_all\_years: Agora é possível criar um feriado para todos os anos disponíveis na base de dados, eliminando a necessidade de inseri-los manualmente ano a ano.
- 3️⃣ Melhorias no comando holidays:save:
    - **Nova opção** `--truncate`: Permite limpar a tabela antes da inserção.
    - **Nova opção** `--yearFrom=YYYY`: Define a partir de qual ano os feriados devem ser gerados.
    - **Confirmações interativas**: O usuário é perguntado se deseja gerar feriados para 10 anos (padrão) ou escolher outro valor.

📩 Uso
-----

[](#-uso)

### 1. **Listar todos os feriados**

[](#1-listar-todos-os-feriados)

```
use Inovanti\Holidays\Models\Holiday;

$holidays = Holiday::all();
```

### 2. **Adicionar um novo feriado**

[](#2-adicionar-um-novo-feriado)

```
use InovantiBank\Holidays\Services\HolidaysService;

$service = app(HolidaysService::class);

$holiday = $service->create([
    'name' => 'Dia da Independência',
    'date' => '2025-09-07',
    'type' => 'fix',
    'state' => null,
    'optional' => false,
    'scope' => 'state',
]);
// Se o feriado já estiver cadastrado, será lançada uma exceção com a mensagem:
// Já existe um feriado com esses parâmetros.
```

### 3. **Criar feriados para múltiplos anos**

[](#3-criar-feriados-para-múltiplos-anos)

```
$service->create([
    'name' => 'Feriado Anual',
    'date' => '2025-06-15',
    'type' => 'fix',
    'scope' => 'state',
    'optional' => false,
    'state' => 'SP',
], true);
// Criará o mesmo feriado para todos os anos da base
// Se um feriado para aquele ano já existir, ele será ignorado.
```

### 4. **Verificar se uma data é feriado**

[](#4-verificar-se-uma-data-é-feriado)

```
return Holiday::where('date', '2025-12-25')->exists();
```

### 5. **Calcular o próximo dia útil**

[](#5-calcular-o-próximo-dia-útil)

```
use Carbon\Carbon;
use InovantiBank\Holidays\Helpers\DateHelper;
// Consulte mais métodos de apoio na classe DateHelper

$today = Carbon::today();
return $helper->getNextBusinessDay($today);
```

### 6. **Popular feriados na base de dados**

[](#6-popular-feriados-na-base-de-dados)

```
php artisan holidays:save
```

➡️ Isso adiciona feriados para os próximos 10 anos (padrão).

- ✅ Novas opções:
    - `--truncate`: Apaga todos os feriados antes de inserir. Requer confirmação.
    - `--yearFrom=YYYY`: Define a partir de qual ano os feriados serão gerados.
    - `--years=N`: Define quantos anos à frente deseja gerar.

### Exemplos:

[](#exemplos)

- Gerar feriados apenas de 2025 a 2030:

```
php artisan holidays:save --yearFrom=2025 --years=5
```

- Zerar e recriar feriados para os próximos 10 anos:

```
php artisan holidays:save --truncate
```

*Se `--truncate` for passado, será exibida uma pergunta de confirmação antes de apagar a tabela.*

🧪 Testes
--------

[](#-testes)

O pacote inclui testes unitários e de feature. Para executá-los:

Teste geral
-----------

[](#teste-geral)

*pode ser usado umm dos dois comandos*

```
vendor/bin/phpunit
composer test
```

### Testes Unit

[](#testes-unit)

```
vendor/bin/phpunit  --testsuite=Unit
composer unit
```

### Testes Feature:

[](#testes-feature)

```
vendor/bin/phpunit --testsuite=feature
composer feature
```

🤝 Contribuindo
--------------

[](#-contribuindo)

Contribuições são bem-vindas! Se você deseja reportar um bug, solicitar um novo recurso ou contribuir com código, fique à vontade para abrir uma issue ou enviar um Pull Request.

1. Faça um Fork do projeto
2. Crie sua feature branch: `git checkout -b minha-nova-feature`
3. Commit suas mudanças: `git commit -m 'Adiciona nova feature'`
4. Faça o push para a branch: `git push origin minha-nova-feature`
5. Crie um novo Pull Request

📜 Licença
---------

[](#-licença)

Este projeto está licenciado sob a [MIT license](https://github.com/Inovanti-Bank/inovanti-Holidays/tree/developer?tab=License-1-ov-file#).

📢 Resumo das mudanças

- ✅ Agora feriados duplicados são evitados automaticamente.
- ✅ Adicionado suporte para criação de feriados para múltiplos anos.
- ✅ Melhorias no comando holidays:save, com opções interativas e novos parâmetros.
- ✅ Mais testes cobrindo os novos recursos.

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance42

Moderate activity, may be stable

Popularity9

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 61.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

470d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5fddebec36cd271b185d7e5b6fbc6ccdc4663c443238d7d8549fa267835d55b7?d=identicon)[jorgekania](/maintainers/jorgekania)

---

Top Contributors

[![JorgeInovanti](https://avatars.githubusercontent.com/u/163863984?v=4)](https://github.com/JorgeInovanti "JorgeInovanti (16 commits)")[![jorgekania](https://avatars.githubusercontent.com/u/75185858?v=4)](https://github.com/jorgekania "jorgekania (10 commits)")

---

Tags

laravelcalendarholidaysferiadosinovanti

###  Code Quality

TestsPHPUnit

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/inovanti-bank-inovanti-holidays/health.svg)

```
[![Health](https://phpackages.com/badges/inovanti-bank-inovanti-holidays/health.svg)](https://phpackages.com/packages/inovanti-bank-inovanti-holidays)
```

###  Alternatives

[livewire/volt

An elegantly crafted functional API for Laravel Livewire.

4195.3M84](/packages/livewire-volt)[laraveljutsu/zap

A flexible, performant, and developer-friendly schedule management system for Laravel

1.4k69.1k](/packages/laraveljutsu-zap)[forxer/laravel-gravatar

A library providing easy gravatar integration in a Laravel project.

4235.6k](/packages/forxer-laravel-gravatar)[edofre/laravel-fullcalendar

Laravel component for fullcalendar package

591.8k](/packages/edofre-laravel-fullcalendar)[edofre/laravel-fullcalendar-scheduler

Laravel component for fullcalendar scheduler module

251.5k](/packages/edofre-laravel-fullcalendar-scheduler)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
