Laravel Zap logo

Today

March 15

2026
9:00AM

Emma Thompson

Cleaning • 45 min

9:45AM

Clean Up Room 2

Sterilization • 15 min

10:00AM

James Anderson

Root Canal • 1h 30min

Power your booking experience

Launch a booking calendar your users trust from day one. ⛹️

From availability to appointments, Laravel Zap helps you ship a smooth scheduling flow with less custom code and fewer surprises.

Open source, Laravel-native, and ready for products where booking quality drives growth.

Fast & Flexible Recurring Events Laravel Native

Go live faster

From install to your first bookable calendar in minutes.

Add scheduling to your existing Laravel models without rebuilding your product architecture.

  1. 1

    Set up the schema

    php artisan vendor:publish --tag="zap-migrations"

  2. 2

    Apply and launch

    php artisan migrate

  3. 3

    Activate scheduling

    use HasSchedules

composer
composer require laraveljutsu/zap

Why teams choose Laravel Zap

Everything you need to run a premium booking calendar.

Keep your scheduling logic in one reliable engine and deliver a smoother booking experience.

Availability that converts

Turn working hours, blocked periods, and appointments into clear bookable slots your users can trust.

Conflict-free by default

Set overlap rules once and let Zap protect your calendar from double-bookings.

Flexible slot strategy

Tailor durations, buffers, and filters to match how your business actually schedules.

Proven in real products

One booking engine for healthcare, teams, and operations.

Use the same calendar foundation across every scheduling use case in your app.

Doctor appointments

Fill calendars, not admin queues

Keep practitioner calendars accurate and show patients only slots they can actually book.

Meeting rooms

Reliable room utilization

Coordinate shared spaces with confidence and eliminate scheduling collisions.

Shift management

Clear shift coverage

Plan rotations and time off once, then instantly check who is available.

quick-start.php
use Zap\Facades\Zap;

Zap::for($doctor)
    ->named('Office Hours')
    ->availability()
    ->forYear(2025)
    ->addPeriod('09:00', '12:00')
    ->addPeriod('14:00', '17:00')
    ->weekly(['monday', 'tuesday', 'wednesday', 'thursday', 'friday'])
    ->save();

// Get bookable slots
$slots = $doctor->getBookableSlots('2025-01-15', 60, 15);

// Check if a specific time range is bookable
$isAvailable = $doctor->isBookableAtTime('2025-01-15', '15:00', '16:00');

Developer-friendly API

Ship calendar features, not calendar headaches.

Connect schedules to your models and return accurate availability fast.

Zap gives you a clean, fluent API to enable booking on any model: define availability, add recurring rules, and return bookable slots.

Zap handles time logic so your team can focus on UX and growth.