Zap For Laravel
Zap For Laravelは開発者フレンドリーなオープンソースのLaravel向け高性能カレンダー管理システムです。
既存のLaravelアプリに予約・空き時間管理・繰り返し予定・重複検出などの本格的なスケジューリング機能を組み込む事が出来ます。
- LaravelのEloquentORMと連携してスケジュールをモデルに関連付け
- 「営業時間外は予約不可」などビジネスルールを定義して適応
- スケジュールごとに個別のルールを有効・無効にするなど細かな制御
- 日時処理にCarbonライブラリを利用、タイムゾーンに完全対応
- スケジュールが重複(バッファの設定も可)していないか自動検出
- 毎日・毎週・毎月・カスタムパターン(例:第2火曜だけ)など繰り返し設定
- 空き時間を自動で生成して予約が入った場合は自動的に調整して競合を解消
- 予約の前後に準備・片付け・移動時間などを設定して自動挿入
- 予約可能な時間枠(スロット)を自動計算して提供
- 空き時間・予約済み・使用不可・任意のカスタムなど複数種のスケジュール管理
主な機能は上記の通り。また、fluent APIを取り入れて直感的に使えるよう設計し、開発効率を意識したシステムを目指したそうです。
もちろんドキュメントも充実しています。Laravelで予約システムなどを導入する予定がある、という開発者の方はご覧になってみては如何でしょう。ライセンスはMIT。

