pass_series.* events

Season-ticket lifecycle — bought, each date completing, dates added or dropped mid-season, and the holders-only presale on the next one.

Fires across the life of a Pass Series — a season ticket sold once that grants a whole slate of other pass plans' dated windows.

The family exists because a series is not just a pass with more dates. A season grows when rules absorb new windows, changes when a date is cancelled, and progresses as each date runs — and none of that has an equivalent on a single-window pass. The pass.* family still fires for every underlying window, because each date is a real window on a real plan; these describe the slate.

Two payload facts integrators get wrong

refund_per_holder on pass_series.leg_dropped is a figure, not an action. Subscriby never moves the money — the creator does. An automation that treats it as "already refunded" will double-refund.

pass_series.purchased fires in addition to subscription.activated, because a series is a subscription row. An endpoint subscribed to both gets two deliveries for one purchase and must de-duplicate on subscription_id.

Which scope each event is about

ScopeEventsAbility
The slate — the plan and its datesleg_added, seats_exhausted, presale_openedproject-subscription-plan:view
One holder — a purchase and a personpurchased, leg_completed, leg_substituted, leg_dropped, completedproject-subscription:view

The split mirrors the pass.* family, where window_* events describe the window and holder_* events describe a person. Subscribe to the scope you actually act on.

Events

Building a season timetable elsewhere

The four events that keep an external calendar honest, in the order you need them:

  1. pass_series.purchased — create the entries. Read the plan's pass_series.windows for the full slate.
  2. pass_series.leg_added — add an entry. Seasons composed with rules grow after they sell.
  3. pass_series.leg_substituted — move an entry, using from_window_id and to_window_id.
  4. pass_series.leg_dropped — remove an entry.

Subscribers get this for free: the portal offers a calendar feed that stays in step on its own. The events are for putting the same schedule somewhere Subscriby cannot reach.

  • pass.* events — the underlying windows opening, closing and being cancelled. Every series date is one of these too.
  • plan.deactivated — a finished season taking itself off sale, with reason: series_exhausted.
  • Pass Series guide — the feature itself, control by control.

How is this guide?

On this page

Subscriby is a product designed by you — for you.

No boardroom full of executives deciding what we ships next. Our roadmap always shaped by you with your feedback.

Share feedback or a request