Pass Roster

A timeline of every member against the dates your pass plans sell: every date drawn to its real length, where each member stands on each date, who was moved from where after a cancellation, the whole trail of a pass, a dialog behind every bar, a calendar feed, a CSV, and the same roster over the API and for agents.

The Pass Roster answers the question a season of cancellations used to force you to answer plan by plan: who holds which date, where was everyone moved to, and what happened to one person's pass along the way. It is one timeline for time-limited passes and pass series, eight weeks behind today through eight weeks ahead, with a dialog behind every bar.

Reading is on every plan — scheduling dates needs Growth or the Passes Addon

The roster itself is on every plan. The dates it draws come from Time-Limited Passes and Pass Series, which are included in Growth; on Free and Starter you unlock them with the Passes Addon, billed on your plan's cycle, $19 USD per month or $190 USD per year on an annual Starter Plan. See Addons for what happens when you add, remove or change it. An owner whose plan no longer includes them sees an amber note above the timeline, Passes are on hold on your plan, with an Upgrade Plan or Buy Addon button, while the dates and holders they already have stay readable, openable and exportable.

Where it is

In the project menu, after Broadcasts, on every project, as Coupon Codes is. A project whose plan has passes on hold reads the amber notice above the grid with Upgrade Plan or Buy Addon; a project with no pass or season plan yet reads where to create one. The badge on the entry counts the dates still to come. A team member sees what the project's owner is entitled to, because the project runs on the owner's plan.

The address is /projects/{project}/pass-roster, and it carries the state of the page, so a link lands someone exactly where you are:

QueryMeaning
?plan=<id>The plan the timeline is narrowed to. Set by Filter by Plan and by Only This Plan in a date's dialog.
?search=<text>The member search.
?ahead=1Keeps the timeline to today onward: Current & Upcoming Only on the toolbar is ticked.
?show=<member id>Opens that member's drawer once the page has loaded.
?date=<window id>Opens that date's dialog once the page has loaded. The bots, the Copilot and the calendar feed use it to point at a date.

A plan or member id that is not the project's is ignored, with a short notice for a member.

The page at a glance

PartWhat it holds
The headingThe member search and the plan filter on the right, with Legend & Navigation Tips and Export CSV under them.
The toolbarToday, a week back, a week forward, zoom out and in, the month you are looking at and the timezone the axis is drawn in, then Current & Upcoming Only, a checkbox that drops the eight weeks behind today so only the dates under way or still to come, and the members holding them, are drawn; on the far right the count of members and dates, Subscribe to Calendar Feed and Enter Fullscreen.
The cornerTwo tabs, Members and Passes, that choose what the rows are. The page opens on Members.
The timelineOne frame that fills the rest of the window and scrolls its own rows, both ways. The day axis stays pinned at its top and the names at its left; the page itself never scrolls, so the footer stays in view.

The timeline has two parts that stay aligned row for row whatever you do: the left column names the rows, and the right part scrolls sideways and holds the day axis and every bar.

It keeps itself up to date

The grid redraws as things happen on the project: a member buys a date, a date opens and admits its queue, a holder is moved or misses, a purchase is cancelled. There is nothing to refresh; a burst of changes is drawn once, a moment after it ends.

Reading the timeline

Read the axis

Days run across the top, each column one day, headed by its weekday and day of the month. Saturdays and Sundays are hatched down the whole height of the timeline, so a weekend is visible even where no bar sits on it. Week bands sit above the days: ISO weeks, Monday to Sunday, labelled with the week number and the dates they cover, such as W46 · 9 Nov – 15 Nov; a band cut short at either end shows the week number alone when fewer than four of its days are on the axis.

Today is a green vertical line through the whole timeline, and today's heading is green too. The axis runs from the day before the earliest of today and the first date to the day after the latest of today and the last date, never shorter than two weeks: the eight weeks that ran, today, and the eight weeks to come, with today a quarter of the way in from the left edge when the page opens, so the recent past is a short scroll away. A date outside the eight weeks that holders were moved onto is on the axis too, so an arrow always has somewhere to point.

The timezone beside the month is the one every plan on the page schedules in. When the plans on the page schedule in different zones, the axis is drawn in your own zone instead, because no plan's zone would be right for the others. Every time on the page is a twelve-hour clock, and the month beside the controls follows what you are looking at.

Choose the rows

The corner's two tabs decide what the rows are. Members, where the page opens, lists the members holding at least one of the dates on the axis, one row each. Passes swaps them for one row per plan that sells dates, every date a pill. The day axis, the lines and everything you can do stay the same on both.

The Members tab

One row per member holding at least one of the dates on the axis, in alphabetical order. The first twenty-five come with the page and twenty-five more arrive each time you scroll to the bottom, under a short skeleton of rows while they load, until everyone is there; rows out of view cost nothing to draw, so a long roster scrolls as lightly as a short one. A member who holds nothing in the eight weeks is not listed. Each row shows the member's avatar, name, status badge (Lead, Trialing, Customer, Churned or Banned) and email; the whole cell is a button that opens the member's drawer.

Every date the member holds is a card at the date's place on the axis, coloured by their standing on it:

  • The first line is a coloured dot, the standing's word and the time, such as ● Queued 4–6 PM.
  • The second line names the plan when more than one plan sells dates, then the move if there was one: ← Wed 11 Nov on a card the pass was rolled onto, → Mon 16 Nov on the dashed card of the cancelled date it left.
  • A cancelled date the member used to hold is a dashed red card where it was, with Cancelled as its word and the date they were moved to.

A member with two dates close together gets a second lane, so cards never overlap; a card that names a move is a little wider than one that does not, so the date fits. A date beyond the eight weeks that the member was moved onto is drawn too, so the arrow onto it ends on the card they hold there, and a member moved off a date is listed even when they hold nothing else on the axis. Hover a card for everything it says in one line; tap it to open the pass's dialog, or a dashed card to open the cancelled date's dialog.

The seven words a card can say:

WordMeaningWhat to do
InAdmitted to the date.Nothing.
QueuedIn the queue, admitted automatically when the date opens.Nothing.
HoldsHolds the date and has not joined the queue yet.This is the one to nudge: open the pass and remind them from the purchase.
MissedHeld the date and never joined.The date ran without them; the purchase tells you whether to refund or move them.
EndedThe date ended, or access to it was taken away.Nothing.
CoveredHolds the date through another purchase as well, so the other purchase is the one that admits them.Nothing; the other card on the same date is the live one.
CancelledA cancelled date the member used to hold, drawn dashed where it was.Follow the arrow to the date they were moved to.

A member who holds one date through two purchases shows the word that says most about the day, so a season's covered claim never hides the admitted one beside it. The legend behind Legend & Navigation Tips repeats the seven words with their meaning.

The Passes tab

Choose Passes in the corner and the rows become one per plan that sells dates, with the plan's name on the left. Every date of the plan on the axis is a pill drawn at its place and to its real length. A two-hour date is a short bar with its time beside it, such as 4–6 PM; a season's three-day date is a long bar with the time inside it. A bar about 8rem wide or wider carries its whole range inside; a narrower bar carries its words to its right, the whole range when the bar and the words fit within one day column, and the start alone, such as 10:30 AM, when they would not. A date that runs past midnight is drawn across the midnight line, so its label never repeats the day it ends on; hover the bar for the full range.

PillHow it looks
A date that ranDimmed, with muted words.
The date in progressLit in the today colour, with its words in that colour beside it.
A date still to comeThe plain pill.
The next dateCarries a small blue NEXT.
A cancelled dateDashed red, its time struck through. It stays on the axis, because that is where you read who was moved off it.
A date beyond the eight weeksAn outlined pill, there because holders were moved onto it, so its arrow lands on something.

When two dates of one plan overlap, the row grows a second lane and the second pill moves down into it. Every plan row is as tall as the tallest, so the plan rows read as one block. Hover a pill for its full range and timezone, and Cancelled when it is; tap it to open the date's dialog.

Arrows and moves

Every move a pass made is drawn as an arrow.

  • In a plan row, on the Passes tab, an arrow runs from a cancelled date to the date its holders were moved to, labelled with how many moved and when the last of them did, such as 2 moved on 6 Nov. Holders moved to two different dates get two arrows.
  • In a member row, on the Members tab, the same arrow runs from the member's dashed card to the card they hold now, labelled Moved on 6 Nov.
  • An arrow between two bars side by side in one lane, with nothing between them and room for its words, is a straight line with its head on the destination. Every other arrow leaves the bottom of the first bar, runs along a track in the gap beneath and climbs into the bottom of the second, so it never crosses a bar and its words never land on one. When two such runs would overlap, the gap widens and each takes its own track. A bar with one arrow on it carries it at its middle; a date that holders were moved onto and then off again, when it was cancelled in turn, carries two, the arriving one landing left of the middle and the departing one leaving the same distance right of it, so the two strokes never meet.
  • An arrow pointing left means the holders were moved to an earlier date.

The arrow's label is the day of the move; the exact moment, the reason and who caused it are in the pass's dialog and the member's drawer.

Why a cancelled date stays on the timeline

The ledger rewrites a moved pass onto its new date, so the cancelled date itself has nobody left on it. The roster reads the pass move log instead, which keeps every hop, and prints where each holder went. Without that date on the axis a cancellation would simply erase the people it affected.

The lines

A green line marks the present moment and moves along the axis with the clock, so a date in progress shows how far it has run. A pill turned on its side sits on it with the current date and time in the axis's timezone, such as Sat 7 Nov · 3:35 AM; it keeps to the middle of the part of the timeline on your screen as you scroll, and the time on it moves every half minute.

Ahead of it, two dashed lines mark the next date's notices: a blue one where its invites go out with the first reminder, a day before it starts, and an amber one at the last reminder, an hour before, each with its own pill, Next invites & first reminder or Next last reminder with the moment; the pill never names the plan, so it stays short. On the Passes tab, that date's pill in its plan row carries a small blue NEXT. Hover close to any of the three lines and its pill grows for a moment so the words read easily. Both lines stay until the date itself starts, so you can see where a notice went out as well as where one is due, and then they move on to the following date. A cancelled date has no notices, and a date beyond the eight weeks is not on the axis to have them.

Move the pointer over the timeline and a thin hover line follows it, black in light mode and white in dark mode, with the exact date and time on a pill just above the pointer, such as Mon 9 Nov · 4:45 PM, to the nearest five minutes, so it stays in view however far down the page you are. It reads in the axis's timezone and goes away when the pointer leaves the timeline. A touch screen has no pointer to follow, so it has no line.

Moving around

  • Drag the timeline, anywhere on the days or the bars, in either direction. A quick flick keeps gliding and slows down on its own. A drag never opens anything; a click does.
  • Hold Shift and turn the mouse wheel to scroll sideways, as with any sideways-scrolling page; the wheel alone scrolls the rows.
  • The arrows beside Today move one week back or forward, and Today scrolls back to today's column.
  • Enter Fullscreen, at the right end of the toolbar, hands the whole screen to the toolbar and the timeline through the browser's own fullscreen mode; Exit Fullscreen or Esc brings the page back, and a dialog opened in fullscreen shows above it. A browser without that mode, such as Safari on an iPhone, shows no such button.

Legend & Navigation Tips, beside Export CSV, opens both lists in a dialog: the words a card can show, and these controls with keys as key caps and gestures such as Drag and Wheel as rounded chips, the two side by side on a wide screen and one under the other on a phone.

What a tap opens

Every bar on the timeline opens a dialog with the things you most often need about it and buttons to where the rest lives. While a dialog is on its way the bar you tapped shows a small spinner. The dialogs are drawn apart from the timeline, so opening one never redraws the rows behind it, however many there are. Close a dialog with its × or Escape; a button in one dialog that opens another closes the first.

Tap a pill in a plan row, or a dashed card in a member row. The dialog shows:

  • The plan and its kind (Time-Limited Pass or Pass Series), the date, its full range with the timezone, and its status: Scheduled, Open, Closed or Cancelled.
  • Five figures: Sold (every purchase ever bound to the date), Active (holders whose purchase is live and uncancelled), Queued (active holders who have tapped their link and wait to be admitted), Not queued (active holders who have not tapped it yet) and Refunded (holders refunded or cancelled since buying). While the date can still be bought a line under them says the numbers can still change.
  • Moves: how many holders were moved off this date and to which date, or onto it and from which, and when.
  • Holders: everyone on the date in the order they bought, each with their plan, where they came from if they moved, and their standing. Tap a holder to open their pass. The list shows the first fifty and says how many more there are.

Only This Plan narrows the whole timeline to the date's plan, the same as choosing it in Filter by Plan; it appears only when more than one plan sells dates and the timeline is not already narrowed to this one. View Plan opens the plan's own flyout on Subscription Plans, where its dates are managed.

Filters and the export

  • Search members matches a name or an email, starts a moment after you stop typing, and keeps only the members who match among those holding dates. Clear it with the × in the box.
  • Filter by Plan appears when more than one plan sells dates. It is a searchable list; choosing a plan narrows both the plan rows and the member rows to that plan, and the × clears it. Only This Plan in a date's dialog sets the same filter.
  • Current & Upcoming Only, on the toolbar after the month, keeps the axis to today onward: the dates that have ended drop off with the members who hold only those, the Passes rows follow, and the export follows too. Untick it, or clear the filters from the empty state, to see the eight weeks behind again. A link carries it as ?ahead=1.
  • Both are in the address, so a filtered view can be bookmarked or sent. Changing either starts the rows over from the first twenty-five, and every empty state that a filter can cause carries a Clear Filters button.

Export CSV downloads the members against the dates as a sheet, whichever tab is open, honouring the plan filter and the search, with every matching member and not only the rows on screen: one row per member with their name and email first, one column per date on the axis headed by the date, its time and, when more than one plan sells dates, the plan in brackets, and each cell the member's word on that date. A pass that was moved onto the date adds (Moved here from …), a cancelled date the member left reads Moved to …, and a date the member does not hold is empty. The file is named after the day, such as pass-roster-2026-11-07.csv, and is UTF-8.

Subscribe to Calendar Feed

Subscribe to Calendar Feed, at the right end of the toolbar before Enter Fullscreen, opens a dialog with a link your calendar app can subscribe to, so every date your pass plans sell sits in the calendar you plan your week in and follows the roster as dates are added, cancelled or sold. The link covers every plan that sells dates, eight weeks behind today through a year ahead; copy it with the button beside it, open it straight into Apple Calendar with Open in Apple Calendar, or hand it to Google with Add to Google Calendar.

  1. Tap Open in Apple Calendar, or paste the link under Settings › Apps › Calendar › Accounts › Add Subscribed Calendar on an iPhone, or File › New Calendar Subscription on a Mac.
  2. Confirm the subscription. The calendar is named after your project.
  3. Set Auto-Refresh to Every hour, so a cancellation reaches your phone within the hour.

Each event is one date:

On the eventWhat it carries
The titleThe plan and how many sold. A cancelled date stays and is marked cancelled, so a move keeps its origin.
The bodyThe standing, then sold, active, queued, not queued and refunded, who was moved to which date or onto it from which, and a link that opens the date on the roster.
Two alertsOn every date still to come, at the moments the platform acts on it: when its invites and first reminder go out, a day before, and when its last reminder does, an hour before.
No namesThe counts are the feed's; the names are the roster's. Nobody reading the feed learns who a member is.

The link is secret and durable

Anyone who has it can read your dates and their counts, so if it gets out, Get a New Link stops the old one for everyone and gives you a fresh one to subscribe with. The link is minted the first time you open the dialog, so a project whose creator never does carries none, and a project that sells no dates answers nothing. To keep the feed to one plan, add ?plan= with the plan's id to the link, the same plan value the roster's own address carries while Filter by Plan is set; the calendar is then named after that plan.

Over the API, for agents and in the bots

The same roster, the same words and the same moves, through every door Subscriby has:

DoorWhat to call
RESTGET /v1/projects/{project}/pass-roster answers the grid as a page of rows, with the columns and the folded moves under meta; GET /v1/subscriptions/{subscription}/pass-moves answers one purchase's trail. The first reads under project-user:view-any, the second under project-subscription:view.
Subscriby Copilot and MCPget_pass_roster and list_pass_moves are the same two reads for an agent; the Copilot opens the page itself with Open the Pass Roster.
ZapierFind Pass Roster Rows and Find Pass Moves on the Zapier integration.
n8nPass Window › Roster and Subscription › List Pass Moves on the n8n node.
Your botsThe platform bot's project card and a connected server's admin command walk the same screens one date at a time: the plans that sell dates, a plan's coming dates with their roll call, a date's holders with their standing and the date they came from, and a holder's pass with its trail. The tabs below name each door.
Webhookspass.holder_moved fires for every hop as it happens, with its reason and the move_id the trail carries.

📋 Pass Roster sits on a project card that sells dates, on the platform bot: the plans, a plan's coming dates with their roll call, a date's holders eight to a page with their standing and the date they came from, and a holder's pass with its trail, each screen with its way back. See the bot's features.

Empty states and the phone

You seeWhy
This project sells no dated passes yet.No pass or series plan exists yet; the roster fills once one has dates and a holder.
No dates within eight weeks of today.The plans exist but nothing is scheduled in the range, or the plan filter hides it.
Nobody holds these dates yet.Dates are scheduled and nobody has bought one.
No member matches your search.The search left nobody; clear it.

The timeline keeps its shape on a phone. The Members and Passes tabs shrink to fit the names column, the day columns narrow, a card shows its word and the start time alone, a pill its start time, the status badge and the email leave the names column so the name fits, the plan filter and the export stack under the search, the legend becomes a two-column list, the calendar dialog's tabs read Apple, Google, Outlook and Other, and a dialog's buttons stack. Swipe to scroll; the edge chips are the quickest way to the next bar in a row; there is no hover line without a pointer. Every colour on the page comes from the dashboard's own light and dark palettes, so the frame, the pills, the arrows, the hover line and the edge chips are ink on surface in both, and each of the seven words keeps its own colour with a darker ink in light mode and a lighter one in dark.

Questions

How is this guide?

Last updated on

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

For AI agents: llms.txt · llms-full.txt