PHPackages                             uruloke/lara-calendar - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. uruloke/lara-calendar

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

uruloke/lara-calendar
=====================

Recurring calendar events for Laravel

17694[3 issues](https://github.com/olivernybroe/LaraCalendar/issues)PHP

Since Oct 4Pushed 8y ago2 watchersCompare

[ Source](https://github.com/olivernybroe/LaraCalendar)[ Packagist](https://packagist.org/packages/uruloke/lara-calendar)[ RSS](/packages/uruloke-lara-calendar/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependenciesVersions (2)Used By (0)

[![Build Status](https://camo.githubusercontent.com/9cac5a661af73e5f36ef3bf7f468777439d0f5de952feeecb52b4ac472a5a3d6/68747470733a2f2f7472617669732d63692e6f72672f6f6c697665726e7962726f652f4c61726143616c656e6461722e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/olivernybroe/LaraCalendar)[![License: MIT](https://camo.githubusercontent.com/fdf2982b9f5d7489dcf44570e714e3a15fce6253e0cc6b5aa61a075aac2ff71b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667)](https://opensource.org/licenses/MIT)[![Latest Stable Version](https://camo.githubusercontent.com/acd7064d6d97f367a525fe7dc68ea8724dba677e05e65820fe4127e9b1490862/68747470733a2f2f706f7365722e707567782e6f72672f7572756c6f6b652f6c6172612d63616c656e6461722f762f737461626c65)](https://packagist.org/packages/uruloke/lara-calendar)[![Total Downloads](https://camo.githubusercontent.com/d34f7ce05007d405d2d3fbc9d941aa0cde1cba7cb4610e30e94aa2de155964fb/68747470733a2f2f706f7365722e707567782e6f72672f7572756c6f6b652f6c6172612d63616c656e6461722f646f776e6c6f616473)](https://packagist.org/packages/uruloke/lara-calendar)[![codecov](https://camo.githubusercontent.com/23086bb9c8a307d0044cdc3020e53a2cc4228ccd30490f7fb6579b765f5939ee/68747470733a2f2f636f6465636f762e696f2f67682f7572756c6f6b652f4c61726143616c656e6461722f6272616e63682f6d61737465722f67726170682f62616467652e737667)](https://codecov.io/gh/uruloke/LaraCalendar)[![StyleCI](https://camo.githubusercontent.com/ce7d8e25387282e070e05e903edb4edcd32723d67d02ff9b4baa871e4cfeded6/68747470733a2f2f7374796c6563692e696f2f7265706f732f3130333431343037332f736869656c643f6272616e63683d6d6173746572)](https://styleci.io/repos/103414073)

Documentation is still in development.

Introduction
------------

[](#introduction)

Building a calendar can be troublesome, especially when you deal with recurring events. This package tries to solve this problem by making an easy to use event builder with extensibility.

The package is made for Laravel and uses Laravel Collections extensively.

For installing the package, just run and you are good to go.

```
$ composer require uruloke/lara-calendar

```

The service providers is autoloaded, so enjoy!

Example
-------

[](#example)

Let's say we want to create an event which repeats every Monday, Tuesday, Wednesday and Thursday. We can generate this simply by doing the following:

```
$builder = new EventBuilder();
$builder->startsAt(Carbon::parse("2017-09-05 08:00"));
$builder->endsAt(Carbon::parse("2017-09-05 18:00"));
$builder->weekly([Monday::class, Tuesday::class, Wednesday::class, Thursday::class]);

// Dump the results
$builder->getNextEvents(3)
```

The dumped data for the next 3 events would then be:

```
Uruloke\LaraCalendar\EventCollection {#221
  #items: array:3 [
    0 => Uruloke\LaraCalendar\Models\Event {#225
      #start: Uruloke\LaraCalendar\Carbon {#230
        +"date": "2017-09-05 08:00:00.000000"
        +"timezone_type": 3
        +"timezone": "UTC"
      }
      #ends: Uruloke\LaraCalendar\Carbon {#231
        +"date": "2017-09-05 18:00:00.000000"
        +"timezone_type": 3
        +"timezone": "UTC"
      }
    }
    1 => Uruloke\LaraCalendar\Models\Event {#232
      #start: Uruloke\LaraCalendar\Carbon {#233
        +"date": "2017-09-06 08:00:00.000000"
        +"timezone_type": 3
        +"timezone": "UTC"
      }
      #ends: Uruloke\LaraCalendar\Carbon {#234
        +"date": "2017-09-06 18:00:00.000000"
        +"timezone_type": 3
        +"timezone": "UTC"
      }
    }
    2 => Uruloke\LaraCalendar\Models\Event {#235
      #start: Uruloke\LaraCalendar\Carbon {#236
        +"date": "2017-09-07 08:00:00.000000"
        +"timezone_type": 3
        +"timezone": "UTC"
      }
      #ends: Uruloke\LaraCalendar\Carbon {#237
        +"date": "2017-09-07 18:00:00.000000"
        +"timezone_type": 3
        +"timezone": "UTC"
      }
    }
  ]
}

```

Recurrences
-----------

[](#recurrences)

### Weekly

[](#weekly)

### BiWeekly

[](#biweekly)

### EvenWeeks

[](#evenweeks)

### UnevenWeeks

[](#unevenweeks)

Filters
-------

[](#filters)

### Filter days out

[](#filter-days-out)

There might be a specific day which you want to blacklist from your event. This can be achieved by using the `withoutDay` method. Just parse in a day and it will ignore that specific day.

```
$builder = new EventBuilder();
$builder->startsAt(Carbon::parse("2017-09-05 08:00"));
$builder->endsAt(Carbon::parse("2017-09-05 18:00"));
$builder->allWeekDays();
$builder->withoutDay(Carbon::parse("2017-09-07"));

```

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance16

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 81.8% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/5870441?v=4)[Oliver Nybroe](/maintainers/olivernybroe)[@olivernybroe](https://github.com/olivernybroe)

---

Top Contributors

[![olivernybroe](https://avatars.githubusercontent.com/u/5870441?v=4)](https://github.com/olivernybroe "olivernybroe (36 commits)")[![fragkp](https://avatars.githubusercontent.com/u/6986565?v=4)](https://github.com/fragkp "fragkp (2 commits)")[![lexf](https://avatars.githubusercontent.com/u/3609979?v=4)](https://github.com/lexf "lexf (2 commits)")[![TwoDCube](https://avatars.githubusercontent.com/u/14909670?v=4)](https://github.com/TwoDCube "TwoDCube (2 commits)")[![chefe](https://avatars.githubusercontent.com/u/1331316?v=4)](https://github.com/chefe "chefe (1 commits)")[![Sirivasv](https://avatars.githubusercontent.com/u/6540632?v=4)](https://github.com/Sirivasv "Sirivasv (1 commits)")

---

Tags

calendarlaravellaravel-packagelaravel5laravel55php

### Embed Badge

![Health badge](/badges/uruloke-lara-calendar/health.svg)

```
[![Health](https://phpackages.com/badges/uruloke-lara-calendar/health.svg)](https://phpackages.com/packages/uruloke-lara-calendar)
```

###  Alternatives

[webpatser/laravel-uuid

Laravel integration for webpatser/uuid - High-performance drop-in UUID replacements (15% faster than Ramsey). Provides Str macros, HasUuids trait, facades, and casts. RFC 4122/9562 compliant.

1.8k17.3M129](/packages/webpatser-laravel-uuid)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
