Laravel Zap logo
Getting Started

Introduction

What is Zap and how it works.

Introduction

🎯 What is Zap?

A comprehensive calendar and scheduling system for Laravel. Manage availabilities, appointments, blocked times, and custom schedules for any resource—doctors, meeting rooms, employees, and more.

Perfect for: appointment booking systems • resource scheduling • shift management • calendar applications

🧩 Core concepts

Zap is built around four schedule types. Each schedule has one or more periods (time slots). Recurrence (daily, weekly, monthly, ordinal weekday, etc.) defines when the schedule repeats. Bookable slots are computed from availability minus appointments and blocked times.

TypePurposeOverlap Behavior
AvailabilityWhen a resource can be booked✅ Allows overlaps
AppointmentBookings / scheduled events❌ Exclusive
BlockedWhen booking is forbidden❌ Exclusive
CustomYour rules (overlap, etc.)⚙️ You define the rules

How it fits together

  • Availability defines when a resource can be booked.
  • Appointments and blocked periods mark when it cannot be booked (exclusive — no overlaps allowed).
  • To get bookable slots for a date, Zap uses availability and subtracts appointments and blocked times (see Query & Check).
  • Schedules can be one-off (single date) or recurring (daily, weekly, monthly, first/last weekday of month, etc.). All recurrence is covered in Schedule patterns.