PHPackages                             innonazarene/ph-holiday-calendar - 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. innonazarene/ph-holiday-calendar

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

innonazarene/ph-holiday-calendar
================================

Laravel package that returns Philippine public holidays (from the Official Gazette) for your calendar.

v1.0.3(1mo ago)01MITPHPPHP ^8.1

Since Apr 26Pushed 1mo agoCompare

[ Source](https://github.com/innonazarene/ph-holiday-calendar)[ Packagist](https://packagist.org/packages/innonazarene/ph-holiday-calendar)[ RSS](/packages/innonazarene-ph-holiday-calendar/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (8)Versions (5)Used By (0)

🇵🇭 Philippine Holiday Calendar
==============================

[](#-philippine-holiday-calendar)

[![Latest Version](https://camo.githubusercontent.com/af925a770370e78d2c42003fe26d105a398d68091b31dc522c6101d65adc2dda/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f696e6e6f6e617a6172656e652f70682d686f6c696461792d63616c656e6461722e737667)](https://packagist.org/packages/innonazarene/ph-holiday-calendar)

A Laravel package that returns **Philippine public holidays** (from the Official Gazette) in a single API response.

---

What it returns
---------------

[](#what-it-returns)

```
{
  "ph_holidays": [
    {
      "date": "2026-04-17",
      "localName": "Biyernes Santo",
      "name": "Good Friday",
      "countryCode": "PH",
      "fixed": false,
      "global": true,
      "types": ["Public"]
    }
  ],
  "activities_list": []
}
```

> `activities_list` is **an array provided manually by the developer**. You handle your own database queries and inject the results here!

---

Installation
------------

[](#installation)

```
composer require innonazarene/ph-holiday-calendar
```

Auto-discovery registers the service provider and `PhHolidayCalendar` facade.

### Publish config

[](#publish-config)

```
php artisan vendor:publish --tag=ph-holiday-calendar-config
```

---

Usage
-----

[](#usage)

### Facade

[](#facade)

```
use PhHolidayCalendar\Facades\PhHolidayCalendar;

// 1. Manually query your own database, format it however you want
$myActivities = [
    [
        'id' => 1,
        'title' => 'Personal Vacation',
        'date' => '2026-05-10',
        'type' => 'personal'
    ]
];

// 2. Combined holidays + your manual activities for a month
$data = PhHolidayCalendar::forMonth(year: 2026, month: 5, activitiesList: $myActivities);
// [
//   'ph_holidays'     => [ ... ],
//   'activities_list' => [ ... ]
// ]

// Combined for a full year
$data = PhHolidayCalendar::forYear(year: 2026, activitiesList: $myActivities);

// Holidays only
$holidays = PhHolidayCalendar::holidays(2026);

// Check a specific date
PhHolidayCalendar::isHoliday('2026-12-25');      // true
PhHolidayCalendar::holidayOn('2026-12-25');       // Holiday DTO or null
```

### Dependency injection

[](#dependency-injection)

```
use PhHolidayCalendar\PhHolidayCalendar;

class MyService
{
    public function __construct(private PhHolidayCalendar $calendar) {}

    public function getCalendar(): array
    {
        // Inject your custom activities here!
        $myActivities = [];
        return $this->calendar->forMonth(2026, 4, $myActivities);
    }
}
```

---

API Routes
----------

[](#api-routes)

Add to `routes/api.php`:

```
use App\Http\Controllers\Api\CalendarController;

Route::prefix('calendar')->group(function () {
    Route::get('/',           [CalendarController::class, 'index']);      // holidays + activities
    Route::get('/holidays',   [CalendarController::class, 'holidays']);   // holidays only
    Route::get('/check',      [CalendarController::class, 'check']);      // is date a holiday?
});
```

See [`examples/CalendarController.php`](examples/CalendarController.php) for the full controller.

---

---

Holiday types
-------------

[](#holiday-types)

`types` valueMeaningPay rule`"Public"`Regular Holiday100% pay even if absent`"Optional"`Special Non-Working DayNo work, no pay`"WorkDay"`Special Working DayNormal working day---

License
-------

[](#license)

MIT

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance91

Actively maintained with recent releases

Popularity1

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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

4

Last Release

44d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b6dc3457db242c3406b720fbc74b3e6ba97bb1472cde2fc50d5936ca4e98cfbe?d=identicon)[inonazarene](/maintainers/inonazarene)

---

Top Contributors

[![innonazarene](https://avatars.githubusercontent.com/u/18453732?v=4)](https://github.com/innonazarene "innonazarene (6 commits)")

---

Tags

laravelcalendarholidaysphilippinesofficial-gazette

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/innonazarene-ph-holiday-calendar/health.svg)

```
[![Health](https://phpackages.com/badges/innonazarene-ph-holiday-calendar/health.svg)](https://phpackages.com/packages/innonazarene-ph-holiday-calendar)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3325.1M337](/packages/psalm-plugin-laravel)[craftcms/cms

Craft CMS

3.6k3.6M2.9k](/packages/craftcms-cms)[spatie/laravel-export

Create a static site bundle from a Laravel app

670139.5k6](/packages/spatie-laravel-export)[simplestats-io/laravel-client

Analytics for Laravel. Track visitors, registrations, and payments. Discover which channels actually drive revenue, not just traffic. Server-side, GDPR compliant, ad-blocker proof.

5019.3k](/packages/simplestats-io-laravel-client)[fleetbase/core-api

Core Framework and Resources for Fleetbase API

1232.2k16](/packages/fleetbase-core-api)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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