zarbinco / laravel-workdays
Laravel-first workday and business-day calculation engine.
Requires
- php: ^8.2
- hekmatinasser/verta: ^9.0
- illuminate/console: ^12.0|^13.0
- illuminate/database: ^12.0|^13.0
- illuminate/filesystem: ^12.0|^13.0
- illuminate/support: ^12.0|^13.0
- islamic-network/calendar: ^1.21
- nesbot/carbon: ^2.72|^3.0
Requires (Dev)
- laravel/pint: ^1.0
- orchestra/testbench: ^10.0|^11.0
- phpunit/phpunit: ^10.5|^11.0|^12.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Calculate business days, working time and calendar-aware delivery dates in Laravel. Define separate calendars for teams, warehouses or carriers, using Gregorian, Jalali and Hijri holidays.
Supports PHP 8.2+ and Laravel 12 or 13, subject to the selected Laravel version's own PHP requirements. The changelog labels the current repository changes 1.0.0 — Unreleased; these guides describe this checkout, not a promise about an older published package.
Install and calculate
composer require zarbinco/laravel-workdays php artisan vendor:publish --tag=workdays-config
In a Laravel application with the shipped global profile unchanged and the Config source selected:
use Zarbinco\LaravelWorkdays\Facades\Workday; echo Workday::profile('global')->nextBusinessDay('2026-11-06')->toDateString(), PHP_EOL;
2026-11-09
Friday's next business day is Monday because this profile closes Saturday and Sunday. For a complete independent calendar definition, follow Getting started.
Documentation
- Business days and holiday reasons
- Working hours and exact time calculations
- Profiles, inheritance and routing
- Database calendars and revision publication
- Delivery planning, cutoff and reverse scheduling
- Delivery and pickup slots
- SLA tracking, recurring schedules, and bulk calculations
- Saved delivery promises and Laravel integration
For contributors: architecture, capability and test matrix, numerical history, and verification.
Report issues through the issue tracker. Licensed under the MIT License.