Супершвидке керування розкладом для Laravel

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 21 червня, 2025
Відкрийте для себе пакет Laravel Zap — гнучку систему управління розкладом, яка забезпечує глибоку інтеграцію з Laravel. Ця стаття пропонує огляд основних можливостей пакету, включаючи управління доступністю та виявлення конфліктів — ідеальні функції для системи бронювання та управління зустрічами

Пакет Laravel Zap — це гнучка система управління розкладом з глибокою інтеграцією в Laravel. За допомогою Zap ви можете створювати календарні розклади для Eloquent моделей, таких як події, призначення, повторювані заходи та інше:

use Zap\Facades\Zap;
 
// Щотижнева зустріч команди
$meeting = Zap::for($user)
    ->named('Командний стендап')
    ->from('2025-01-01')
    ->to('2025-12-31')
    ->addPeriod('09:00', '09:30')
    ->weekly(['monday', 'wednesday', 'friday'])
    ->save();

Під час роботи з управлінням розкладом необхідно виконувати запити для перевірки доступності моделей, знаходити наступні вільні часові слоти, усувати конфлікти в розкладі тощо:

// Перевірка доступності
$available = $user->isAvailableAt('2025-03-15', '14:00', '16:00');
 
// Отримання вільних слотів
$slots = $user->getAvailableSlots(
    date: '2025-03-15',
    dayStart: '09:00',
    dayEnd: '17:00',
    slotDuration: 60
);
 
// Перевірка на конфлікти
$conflicts = Zap::findConflicts($schedule);
 
// Отримання розкладів на дату
$todaySchedules = $user->schedulesForDate(today());

Цей пакет ідеально підходить для систем бронювання призначень, управління кімнатами для зустрічей, управління змінами працівників та інших додатків на основі розкладу.

# Основні можливості

👨‍💻 Ознайомтеся з проєктом на GitHub: ludoguenet/laravel-zap