Ulsav Docs

Publish an Event

The preconditions publishing validates, what blocks it, and which edits afterwards are refused

Publishing validates the whole Event, records a published revision in its history, and moves publication from draft to published. There is no path back to draft, and publishing requires events.publish.

  • Requires

    events.publish

    Plus the preconditions below

  • Creates

    A published revision

    One audit entry in the Event's history

  • Irreversible

    No unpublish

    Draft is never reachable again

  • Freezes

    The category

    Discovery and buyers have already used it

  1. Work through the checklist

    PreconditionWhat it means in practice
    Authorized memberYou hold events.publish here
    Name, category, summaryName and summary are non-empty; the description is optional
    Timezone and a valid scheduleAn IANA timezone, and an end after the start
    Venue or access detailsA venue or city for in-person, a URL for online, both for hybrid
    At least one active PassA named Pass with permitted attendance modes, a valid session scope, order limits within 1–50, and any sale window ending by the Event end
    KYC and settlement (paid only)Completed KYC and a verified settlement account
    Sessions belong to the EventEvery selected Session is one of this Event's own
    Selected Sessions resolvedEvery SELECTED Pass names at least one Session
    Attendance modes within the EventEach Pass's subset is permitted by the participation mode
    Venue state for a paid Indian EventA paid in-person Event on Indian supply needs a venue state

    A free Event skips the KYC row. Everything else here is evaluated at publish, so an incomplete draft stays editable.

  2. Clear what blocks publishing

    • A paid Event without a payment path. KYC and settlement are prerequisites for selling, not drafting. If a paid Event is rejected, check those two in Settings → KYC & Settlement first, then the currency, which is usable only when the platform enables it and the active merchant account supports it.
    • A Pass with no reachable Session. A Pass covering all sessions is always valid. A Pass that names sessions becomes invalid the moment its last selected session is removed, and publishing refuses until the reference is resolved.
    • A mismatch between Event and Pass. An in_person Pass on an online Event is rejected as a validation problem, not silently corrected.

    Moderation is not publishing

    Ulsav-controlled moderation — active, under review, suspended, banned — is separate from your publication state. A suspended Event cannot sell and cannot be mutated, but its organizer lifecycle history is not rewritten, and lifting the suspension does not republish anything.

  3. Publish, and know what it did

    • Records a revision. Publishing writes one published entry to the Event's history; buyers read the live Event, not a frozen copy.
    • Starts the sales dimension. Whether the Event can sell derives from publication, schedule state, the manual pause flag, and moderation — not from a value you set. A Pass then adds its own window and capacity to the question.
    • Applies visibility. Public by default, listed and indexed in discovery.
    • Freezes the category. It cannot change after publication, because discovery and buyers have already used it.
    • Puts the terms in force. Prices and windows apply from this moment, and every Order keeps the version it was charged under.
  4. Plan for what changes afterwards

    ClassExamplesEffect
    Editable, no recordSummary, description, FAQs, contacts, sponsors, styling, Topics, visibility, venueSaved immediately
    RefusedName, category, timezone, participation mode, team mode and size, Event capacityThe save fails
    Through a workflowStart and end dates, a Session's time or room, cancellationA revision is recorded
    Frozen commercial fieldsA Pass's price, capacity, quantity limits, sale window, session accessThe Pass edit is refused

    Get the commercial shape right before publishing, because you cannot correct it on the live Event. A new Pass can still be added afterwards; an existing Pass's commercial fields cannot be changed, and only Reschedule moves a sale window.

    Two more rules finish the picture. A published Event notifies nobody when its details or dates change; cancellation is the only lifecycle action that messages buyers. And a Pass's participation settings — attendance modes, entry kind, pricing basis, capacity basis, roster lock — can only be changed while that Pass has no Registration.

  5. Withdraw only through a lifecycle action

    Everything here lives under the Event's Settings → Lifecycle. A published Event has no delete and no return to draft; a draft has both.

    • Pause sales — reversible, and the cheapest way to stop new Orders while you fix something.
    • Reschedule — moves the Event and its Sessions to new dates, with a reason, and keeps every Registration valid. Each Pass's window must still end by the new Event end.
    • Cancel — irreversible, cancels every Registration, closes in-flight payments, refunds paid Orders in full including the Ulsav fee, and invalidates admission.

    Reference: cancellation states each obligation.

On this page