---
title: "Events for Laravel — docs | Roundly"
description: "Developer docs for Events for Laravel: venues with near-me search, ticket types, RSVPs with a race-free waitlist, QR check-in, .ics feeds and JSON-LD."
url: https://roundly-consulting.com/open-source/docs/events-for-laravel
language: en
---

[All packages](https://roundly-consulting.com/open-source.md)

Open source

# Events for Laravel

Install

`composer require roundly-consulting/events-for-laravel`

Requires: PHP ^8.4 · Laravel ^12.0|^13.0

[GitHub](https://github.com/roundly-consulting/events-for-laravel) [Packagist](https://packagist.org/packages/roundly-consulting/events-for-laravel) [Donate (opens in a new tab)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Patreon](https://www.patreon.com/cw/roundly)

## Overview

Run real-world events in any Laravel app: reusable venues with near-me search, ticket types priced in Money, RSVPs with a race-free waitlist, QR check-in at the door, co-hosts and invite-only events — with every time stored in UTC and read in each event’s own timezone. Calendar files and feeds, schema.org JSON-LD, notices and reminders in English and Slovak and an opt-in JSON API sit behind one Events facade. It is headless and MIT-licensed, built only on official Laravel components and Roundly’s own packages for tags, statuses, locations, money, slugs, translations, media, QR codes and cryptography — no third-party event platform.

### What you get

#### Venues and near-me search

Reusable venues with an address, coordinates and a timezone, opt-in geocoding, and one exact great-circle distance in SQL and PHP.

#### The right time, everywhere

Instants stored in UTC, wall-clock input read in each event’s own timezone, DST gaps refused, and all-day festivals that keep their dates.

#### Ticket types and a payment seam

Free and paid ticket types priced in Money, with capacity, sale windows and party limits. Paid seats are held while your own checkout collects.

#### RSVPs with a race-free waitlist

Going, interested or not going, guests per RSVP and a first-fit waitlist with no queue-jumping — exact under concurrent requests on MySQL and PostgreSQL.

#### QR check-in at the door

Unguessable encrypted codes, a QR that is never cached, idempotent scans, a check-in window, manual check-in and one-step code rotation.

#### Private events and co-hosts

Public, link-only or invite-only events, co-hosts, organizer transfer and team organizers — one visibility rule for lists, pages, feeds and notices.

#### Calendars, search and notices

.ics files and feeds, schema.org JSON-LD, queued notices and reminders in English and Slovak, and an opt-in JSON API.

#### Facade, DI or actions

One Events facade, an injectable manager or single-purpose actions — and a recording fake that still performs every call.

### Documentation

#### [Use cases](https://roundly-consulting.com/open-source/docs/events-for-laravel/use-cases.md)

Where the package fits — meetup platforms, venues and clubs, conferences, ticketing through your own checkout, private events and near-me listings.

#### [Installation](https://roundly-consulting.com/open-source/docs/events-for-laravel/installation.md)

Install via Composer, run events:install and migrate, settle key types and table names, add the model traits and schedule the two sweeps.

#### [Configuration](https://roundly-consulting.com/open-source/docs/events-for-laravel/configuration.md)

Every config key with its env variable and default — keys, tables, models, defaults, venues, payments, check-in, posters, URLs, API and notices.

#### [Models and schema](https://roundly-consulting.com/open-source/docs/events-for-laravel/models-and-schema.md)

The seven tables and seven models, what the Event model reads, its query scopes, the enums, DTOs and contracts, and swapping a model.

#### [The Events facade](https://roundly-consulting.com/open-source/docs/events-for-laravel/facade.md)

Tour the Events facade — make(), the for($event) handle and its sub-handles, venues, RSVPs, invitations, the builders and the model traits.

#### [DI and actions](https://roundly-consulting.com/open-source/docs/events-for-laravel/without-facade.md)

Skip the facade: inject EventsManager or call one of the 49 single-purpose actions — every execute() signature with its facade path.

#### [Creating and editing events](https://roundly-consulting.com/open-source/docs/events-for-laravel/creating-events.md)

Build and publish events fluently or from CreateEventData, then edit, find, list, set posters, transfer, delete and restore them.

#### [Time and timezones](https://roundly-consulting.com/open-source/docs/events-for-laravel/time-and-timezones.md)

UTC storage, wall-clock input in each event’s timezone, DST gaps and overlaps, durations and doors, all-day and multi-day events and time scopes.

#### [Statuses and lifecycle](https://roundly-consulting.com/open-source/docs/events-for-laravel/statuses.md)

Six states on lifecycle-for-laravel — publish, postpone, reschedule, cancel, complete and move online — the guards, phases and your own workflow.

#### [Venues and near-me search](https://roundly-consulting.com/open-source/docs/events-for-laravel/venues.md)

Reusable venues with addresses, coordinates and timezones, who may edit them, opt-in geocoding and an exact near-me distance in SQL.

#### [Ticket types and payments](https://roundly-consulting.com/open-source/docs/events-for-laravel/ticket-types.md)

Ticket types priced in Money with capacity, sale windows and party limits — plus seat holds, your payment collector, the webhook and refunds.

#### [RSVPs and the waitlist](https://roundly-consulting.com/open-source/docs/events-for-laravel/rsvp-waitlist.md)

Going, interested or not going, guests and party limits, capacity under concurrency, the first-fit waitlist and the managers’ attendee tools.

#### [Check-in at the door](https://roundly-consulting.com/open-source/docs/events-for-laravel/check-in.md)

Unguessable encrypted codes and a never-cached QR, scoped and unscoped door scans, refusals, the window, manual check-in and code rotation.

#### [Organizers, co-hosts and invitations](https://roundly-consulting.com/open-source/docs/events-for-laravel/organizers-invitations.md)

Users and teams as organizers, who manages an event, co-hosts, organizer transfer and invite-only events with single-use, hashed tokens.

#### [Categories and labels](https://roundly-consulting.com/open-source/docs/events-for-laravel/categories-labels.md)

One curated category tree and free-form labels through tags-for-laravel — seeding, tagging, filtering, private labels, organizer scopes and overrides.

#### [Privacy and authorization](https://roundly-consulting.com/open-source/docs/events-for-laravel/privacy.md)

Who sees an event, what each surface hides, the EventPolicy abilities, the venue rules and the visitor-IP note for near-me search.

#### [Calendar files, feeds and JSON-LD](https://roundly-consulting.com/open-source/docs/events-for-laravel/calendar-seo.md)

.ics files per event and per list, public and personal feeds, schema.org JSON-LD with @eventJsonLd and the URL templates behind every link.

#### [JSON API](https://roundly-consulting.com/open-source/docs/events-for-laravel/http-api.md)

An opt-in JSON API — 49 routes, request bodies, discovery filters and sorts, role-aware resources, reference resources, errors and rate limits.

#### [Notifications and reminders](https://roundly-consulting.com/open-source/docs/events-for-laravel/notifications.md)

Nine queued, after-commit notices in English and Slovak — recipients and delivery checks, payloads, swapping a notice, silent writes and reminders.

#### [Domain events](https://roundly-consulting.com/open-source/docs/events-for-laravel/domain-events.md)

42 after-commit domain events for events, venues, ticket types, RSVPs, holds, payments, check-ins, co-hosts and invitations — payloads and listening.

#### [Exceptions](https://roundly-consulting.com/open-source/docs/events-for-laravel/exceptions.md)

Every EventsException with its code and HTTP status, the errors the API maps from tags, lifecycle and media-library, and configuration errors.

#### [Artisan commands](https://roundly-consulting.com/open-source/docs/events-for-laravel/commands.md)

events:install, events:doctor and its checks, events:sweep, events:repair and events:geocode — plus the scheduler lines and the PHP equivalents.

#### [Recipes](https://roundly-consulting.com/open-source/docs/events-for-laravel/recipes.md)

Guests without accounts, team organizers with teams-for-laravel, custom fields, event discussion, post-event reviews and an overbooking ratio.

#### [Testing](https://roundly-consulting.com/open-source/docs/events-for-laravel/testing.md)

Events::fake() records every operation and still performs it — every assertion pair, recorded operations, Pest expectations, factories and pitfalls.

#### [Requirements](https://roundly-consulting.com/open-source/docs/events-for-laravel/requirements.md)

PHP 8.4, Laravel 12 or 13, MySQL 8 or PostgreSQL, the PHP extensions its dependencies need and the Roundly packages it builds on.

## Show your open-source love

This package is free and MIT-licensed. If it saves you time, a one-off donation or a Patreon membership keeps it maintained, tested and documented.

[More ways to support, including crypto](https://roundly-consulting.com/support-us.md)

By donating, you agree to our [donation terms](https://roundly-consulting.com/donation-terms.md).

[Support our open source work (opens in a new tab)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Join us on Patreon (opens in a new tab)](https://www.patreon.com/cw/roundly)

## Want this built into your product?

We integrate our packages into custom Laravel and AI builds. Tell us what you're working on and we'll reply within 48 hours.

[Get a quote in 48 hours](https://roundly-consulting.com/contact.md) [Browse all packages](https://roundly-consulting.com/open-source.md)
