Skip to content

Availability & Time Off ​

Implement the contract on the resource model:

app/Models/Staff.php
php
class Staff extends Model implements HasSchedulerAvailability
{
    public function getSchedulerAvailability(): Availability
    {
        return Availability::make()
            ->weekdays('09:00-13:00', '14:00-18:00')
            ->on(Carbon::SATURDAY, '10:00-14:00')
            ->timeOff('2026-10-05 00:00', '2026-10-05 23:59', 'Conference');
    }
}

Or configure it on the scheduler:

php
$scheduler->resourceAvailability(fn (Staff $resource) => Availability::make()->weekdays('08:00-16:00'));

Night shifts such as 22:00-06:00 are supported.

On the grid ​

Non-working hours are hatched, time off is labelled, and each row shows how booked it is for the visible range.

Enforce it ​

php
$scheduler->enforceAvailability();

Bookings outside working hours or during time off are then refused, with the reason shown on the drag ghost and in the modal.