Ulsav Docs
Events

Events

The thing you publish, schedule, and sell Passes into — and the fields that decide how it behaves

An Event is a dated occasion people register for. It owns its Passes, its EventSessions, and every registration made against it.

Almost every other concept hangs off an Event: what it costs, when sales open, who may attend, and what the public page shows. Getting the shape right saves rework.

The fields that matter

  • Category

    One format

    From a platform catalogue, 12 at launch

  • Participation

    In person, online, hybrid

  • Schedule

    Start and end in your timezone

  • Visibility

    Public, unlisted, private

  • State

    Draft, published, archived

  • Capacity

    Optional whole-Event ceiling

FieldRuleWhy it matters
Name1 to 160 charactersPublic title and page heading
SummaryUp to 300 charactersThe card and search teaser; required to publish
DescriptionUp to 20,000 characters, MarkdownThe long story on the page
Slug3 to 63 lowercase characters, unique platform-wideThe public address
TimezoneA valid IANA nameDisplay and date announcements
Start and endEnd must be after startDrives sales state and completion
Venue nameUp to 160 charactersRequired to publish in-person and hybrid
Venue addressUp to 500 charactersHidden in discovery unless exact venue is enabled
Online URLAn absolute http or https URLRequired to publish online and hybrid
CapacityA positive number, optionalCaps total admission across Passes
Team modeIndividual, team, or eitherWhether one registration can hold a team
Registration policyMultiple, or one per AccountWhether a person may hold two places

A draft can hold almost anything, but every save still needs a name, a category from the catalogue, a participation mode, a valid timezone, and an end after the start. Venue and link completeness is checked when you publish, not when you save.

Category and topics are different axes

A category describes the format: performance, competition, talk, conference, workshop, exhibition, screening, meetup, class, expo, trip, or celebration. It is one value from a platform-managed catalogue that staff can extend without a code change.

Topics describe the subject: music, AI, food, sustainability. An Event can carry none or many, and an unknown topic is created on first use. Typing "Music" twice reuses one topic.

The two are not interchangeable. "Workshop" is a format; "pottery" is a subject. Discovery filters on both, and the search index folds topic names into the Event's searchable text.

Participation mode decides what you must supply

ModeRequiredOptional
In personA venue name, or a structured venue or cityOnline link ignored
OnlineA valid online URLVenue ignored
HybridBothBoth shown together

The rule exists so a public page never says "in person" with nowhere to go, or "online" with no way in. Drafts are exempt, which is why you can create an online Event before you have the stream link.

A Pass may only offer attendance modes the Event permits. An in-person Event cannot sell an online-only Pass, and the publish gate rejects the mismatch rather than quietly narrowing it.

Team and registration settings

The team mode says which entry shapes the Event accepts: individuals only, teams only, or either. Team bounds default to one through ten, cap at one hundred, and apply to every Pass in the Event. They matter only when teams are allowed.

The registration policy is separate: how many live places one Account may hold across the Event and every Pass.

  • Multiple is the default and allows several places.
  • One per Account allows at most one pending or confirmed registration. Drafts do not count, and cancelling frees the place.

Tightening to one per Account is audited first; existing duplicates make the switch fail.

Scheduling and timezones

Start and end are stored as absolute instants. The timezone decides how they are displayed, how the public page formats them, and which zone a reschedule announcement uses.

That matters across midnight or a daylight-saving boundary: the Event starts at one instant, shown in the zone you chose.

Sessions must sit inside the Event window; one outside it is rejected on write and on reschedule.

Draft to public

A new Event is a draft, public by default. Drafts are invisible to buyers: the public endpoint returns "not found", and discovery never sees them.

Visibility and publication are separate switches, and both must line up before a page is reachable. Publishing covers the gate, and Visibility covers who can see what.

Only a draft can be deleted. Once published, an Event is cancelled or archived so its history stays readable.

On this page