---
url: /guide/recurring-events.md
description: >-
  Recurring series in Scheduler Pro: daily, weekly, monthly and yearly repeats,
  with this-event or all-events changes.
---

# Recurring Events

## Add two JSON columns

```php
$table->json('recurrence')->nullable();
$table->json('recurrence_exceptions')->nullable();
```

## Cast both to array

```php
protected function casts(): array
{
    return ['recurrence' => 'array', 'recurrence_exceptions' => 'array'];
}
```

## Point the scheduler at them

```php
$scheduler->recurrenceAttribute('recurrence');
```

## How it behaves

* The built-in form gains a **Repeat** section: daily, weekly on chosen days, monthly or yearly, with an interval, an end date or a count.
* Dragging an occurrence asks whether to move just that event or the whole series.
* Moving or editing a single occurrence detaches it into its own record and adds an exception to the series.

Use `RecurrenceField::field()` in your own form schema.
