Ulsav Docs
Events

Event Lifecycle

Draft, published, postponed, cancelled, completed, archived — and what each transition does to buyers

An Event has four independent states, not one. Whether it is published, where its schedule stands, whether sales are paused, and whether Ulsav has restricted it are tracked separately.

Knowing which dimension a change belongs to makes the transitions predictable.

The four dimensions

DimensionValuesChanged by
PublicationDraft, published, archivedPublish, archive
ScheduleScheduled, postponed, cancelled, completedPostpone, resume, cancel, complete
SalesEvent: scheduled, open, paused, closed. Pass: scheduled, open, ended, cancelledPause or resume sales; the rest derives from state and windows
ModerationActive, under review, suspended, bannedUlsav staff only

Moderation is Ulsav's; the rest are yours. Visibility covers what restriction does to public pages.

Publication and schedule

publisharchivepostponeresumecancelcancelcomplete after endcomplete after enddraftpublishedarchivedscheduledpostponedcancelledcompleted
Diagram source
stateDiagram-v2
  [*] --> draft
  draft --> published: publish
  published --> archived: archive
  [*] --> scheduled
  scheduled --> postponed: postpone
  postponed --> scheduled: resume
  scheduled --> cancelled: cancel
  postponed --> cancelled: cancel
  scheduled --> completed: complete after end
  postponed --> completed: complete after end
  cancelled --> [*]
  completed --> [*]

Publication and schedule are independent: an archived Event keeps its schedule value, a cancelled one stays published until archived.

Rescheduling does not move the schedule state. A postponed Event that is rescheduled with new dates stays postponed until you resume it.

Moving the dates

Three operations change when an Event happens, and they differ in how much else they touch.

OperationAllowed fromWhat it changesWritten record
PostponePublished, scheduled or postponedSchedule to postponed; dates optionalPublic revision and notice
ResumePublished, postponedSchedule back to scheduled with new datesPublic revision and notice
ReschedulePublished, scheduled or postponedDates, every Session, selected Pass windowsPublic revision and notice

Postponing may leave the date unknown: omit both dates and the original schedule stays on display. Passes stay valid.

Resuming requires both dates, with an end after the start.

Rescheduling takes the complete final Session plan, so no Session is left behind. Unsubmitted Pass windows are kept, and one that would fall past the new Event end rejects the plan. The notice uses the new date in the Event's zone.

A reason is optional, capped at 500. Omit it and the notice says something plain.

Changing the place

Relocating is the venue counterpart of rescheduling. It changes the mode, venue, city, state, country, and online link, and records a public revision.

Use it instead of a general edit: a direct venue edit is accepted but writes no revision, so buyers never learn the room moved.

Sales, on and off

Pausing sales is reversible and immediate. It stops new checkouts without changing the schedule, the Passes, or the public page, and discovery marks the Event paused.

Pausing is refused on cancelled or completed Events. Resuming reverses a pause, but it cannot reopen a Pass whose sale window has already ended.

The Event's sales state is derived, never stored: scheduled before the start, open after it, paused while the flag is on, and closed for a draft, archived, cancelled, completed, or restricted Event.

Sales stop for three separate reasons, and only one of them is a switch you own:

What stops a saleWhere it livesReversible
The Event is pausedA stored Event flagYes, by resuming
The Pass window is overDerived from the Pass's start and endOnly by editing the window
The Event is a draft, archived, cancelled, completed, or restrictedEvent stateNo

Each Pass then reports one of four sale states:

Pass sale stateMeaningCheckout
ScheduledThe window has not openedRefused
OpenInside the windowAllowed, unless the Event blocks checkout
EndedThe window has passedRefused
CancelledThe Pass itself was cancelledRefused

There is no "sold out" state: when capacity runs out the checkout is refused, and the Pass still reads Open.

A Pass reads Scheduled until its own window opens, which can be later than the Event start. The Pass window decides whether the Pass is open; the Event can still refuse checkout while it is paused, draft, archived, or restricted.

Paused is an Event-level flag, never a Pass state.

Cancelling

Cancellation is irreversible. Preview it first: it reports active and confirmed registrations, confirmed and paid Orders, in-flight payments, check-ins, and the refundable amount.

Cancelling then does all of the following.

  • Flips the schedule to cancelled and records the reason.
  • Ends every active Pass so nothing can be bought.
  • Cancels every registration that is not already cancelled, drafts included.
  • Refunds every paid Order in full, including the platform fee.
  • Records a public revision so affected buyers see what happened.

Refunds retry in the background; if a provider is unavailable, the cancellation still commits and reconciliation is reported as pending.

Completing and archiving

Complete is only allowed after the end time. It closes sales and records a public revision.

Archive removes a published Event from normal views without deleting it: readable by ID, gone from public pages and discovery, and irreversible.

The change history

Every change that matters writes a revision; the public ones double as participant notices.

KindPublic notice
PublishedYes
Postponed, resumed, rescheduled, relocatedYes
Session schedule changedYes
Cancelled, completedYes
ArchivedNo

Notices appear in order, so an old link tells the story: it moved, moved again, then was cancelled.

MarchPublished

Vidyut 2027 goes live with three Passes.

JunePostponed, no new date

Dates cleared, Passes stay valid.

JulyResumed on new dates

Every Session moves in one plan.

SeptemberCompleted

The Event ends and sales close.

On this page