---
url: /guide/permissions.md
description: >-
  Scheduler Pro checks model policies automatically and supports your own gates
  for creating and editing events.
---

# Permissions

When a policy exists for the event model, `create`, `update` and `delete` are checked automatically. Locked events can't be dragged, and their modal opens read-only.

Add your own gates:

```php
$scheduler
    ->editable(fn (Appointment $record) => $record->status !== Status::Completed)
    ->creatable(fn () => auth()->user()->can('book'));
```

Turn policy checks off:

```php
$scheduler->authorizeWithPolicies(false);
```
