Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Laravel Reservation

Laravel Reservation Laravel Package

zaber-dev/laravel-reservation

Application-level resource reservation for Laravel: temporarily hold seats, rooms, or inventory, then confirm, cancel, or let them expire to prevent double-bookings. Uses cache (Redis, Memcached) or database storage.

View on GitHub
Deep Wiki
Context7

Application-level resource reservation for Laravel with stateful booking lifecycles, expiration, cache and database storage, Eloquent integration, middleware, and a fluent builder API.

Frequently asked questions about Laravel Reservation
How do I install zaber-dev/laravel-reservation in a Laravel app?
Install the package with Composer, publish its config and migrations if you plan to use database storage, then choose the cache or database driver. Confirm service-provider auto-discovery and middleware registration in your Laravel version. The README points to an installation section and LEARN.md for the detailed setup flow.
Does Laravel Reservation support Laravel 11, 12 and 13?
The README states support for Laravel 11, 12 and 13+, PHP 8.2+, Redis, Memcached, and database storage. Verify those constraints against your application composer.json and the package release metadata before adopting it. Cache driver behavior differs materially between Redis and Memcached, so test the driver you intend to use.
Should I use cache or database storage for reservations, and can I migrate between them?
Cache storage suits short-lived holds such as checkout slots because TTL and eventual cleanup are acceptable. Database storage suits confirmed bookings or audit-sensitive reservations that need persistence. The evaluation recommends piloting Redis holds with database confirmation, proving lifecycle semantics before migrating existing booking tables, then publishing migrations and validating transaction behavior if you move to database storage.
How does Laravel Reservation prevent double bookings under concurrent requests?
The package manages reservation lifecycles, but it is not described as a distributed locking or inventory system. The technical evaluation flags concurrency correctness as the core risk, including atomic check-and-reserve behavior, cache eviction, database transaction isolation, and expiration reclamation. Run a concurrency spike and add database constraints or locks if correctness is high-stakes.
How are expired reservations cleaned up?
The README shows a Held to Expired transition after timeout, but the provided context does not establish whether reclamation is lazy on read, a scheduled command, or a queue job. Ask the maintainer and test the behavior in your environment. Configure scheduler or queue cleanup as needed and verify timezone consistency and clock skew tolerance.
Can I attach reservations directly to Eloquent models?
Yes, the package overview describes Eloquent integration so reservations can be attached to models. Use an adapter or domain service rather than embedding package models and APIs directly in domain code. If you use database storage, publish migrations and validate indexes and transaction behavior.
How do I protect routes with Laravel Reservation middleware?
The package provides declarative middleware for route-level protection of reservation flows. Confirm middleware registration order with your existing auth and tenancy middleware. Middleware is not a substitute for domain authorization and business-rule validation.
Is Laravel Reservation a replacement for Cache::lock() or a distributed lock?
No. The README distinguishes it from Cache::lock(), which provides short-lived mutual exclusion, because Laravel Reservation manages complete hold, confirm, cancel, and expire lifecycles. It is application-level reservation, not a distributed inventory or locking system. Do not use it as the sole correctness mechanism for high-stakes multi-service inventory.
Does Laravel Reservation have tests and active maintenance?
The README includes a Run Tests badge linked to a GitHub Actions workflow, so CI exists. The evaluation still reports thin maturity signals: 12 stars, 0 dependents, minimal documentation, and no evidence of enterprise support. Confirm the CI test matrix, coverage, maintainer capacity, security policy, and committed Laravel 13 support, then pin versions and keep a fork contingency.
What production risks should I check before using Laravel Reservation?
Focus on concurrency correctness, cache eviction or failover behavior, database transaction isolation, and expiration reclamation. Pilot one low-risk resource type behind a feature flag, wrap the package behind an internal ReservationService adapter, and add observability and reconciliation. Vendor lock-in is low under MIT, but abandonment risk is real, so monitor releases and be prepared to fork or replace it.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
roundly-consulting/kubernetes-api-for-laravel
roundly-consulting/plausible-for-laravel
gvp/gvp-laravel-template
metasyncsite/laravel-metasync-client
roundly-consulting/onboarding-for-laravel
andydefer/laravel-notification
adachsoft/cli-process-tester
jhaskell13/laraflow
sebastienheyd/boilerplate-media-manager
ccast/tagixo-primix
pretendtrue/laravel-builder
sawmainek/laravel-scout-tntsearch-driver
tomshaw/laravel-calendar-table
dibakar/laravel-ownership
steadrun/laravel-monitor
labyrinthe/connect-laravel
elmogy/layan
drewdan/sentinel-client
dskripchenko/laravel-llm
fatryst/nuonuo