A complete solution for handling business hours — a rich form field, exceptions for holidays and special hours, a table column, and an infolist entry — built on spatie/opening-hours.
PHP ^8.3Filament ^5.0
Features
Rich form field
- Global Enable/Disable: Toggle to quick enable/disable existing business hours
- Dynamic Time Slots: Add multiple time ranges per day
- Timezone Support: Built-in timezone selection with searchable dropdown
- Quick Toggles: Enable/disable specific days with a single click
- Visual Feedback: Clear visual indicators for open/closed status
- Flexible Layout: Use Filament’s available layout components for a responsive and customizable layout
Exceptions
- Date-based Exceptions: Handle holidays, special hours, and closures
- Recurring Exceptions: Set up annual recurring exceptions (e.g., Christmas)
- Date Ranges: Define exceptions for specific date ranges
- Custom Labels: Add descriptions to exceptions for better organization
Table column
Business days as interactive circles with open/closed color and tooltips.
Infolist entry
Formatted business hours with timezone and exceptions.
Widget
Use as a standalone widget in your dashboard.
HasBusinessHours trait
Adds a relationship plus helper methods —
isOpen(), nextOpen(), currentOpenRange(), and more.Cache
Built-in caching for optimal performance.
Built on Spatie Opening Hours
Every query/format method from
spatie/opening-hours is available on top.Version compatibility
Use the version switcher above the sidebar to pick the docs matching your Filament version:Requirements
- PHP 8.3+
- Filament 5

