The education coordinator wants to know who’s coming to Thursday’s homeschool workshop. The camp director needs Monday’s roster by Friday afternoon. The volunteer lead wants a headcount for every program running this week. They are all asking the same question: who is registered for what over the next few days?
Altru holds that information, but there isn’t always a single screen that shows it across programs in one list. The dependable answer is a saved query built around the program date, plus a few decisions about who counts as a “registrant.” This guide covers both.
First, decide what “registrant” means at your organization
This sounds fussy, but it’s the reason most upcoming-registrant lists come out wrong. Depending on how your site is set up, people can be signed up for the same program in different ways:
- Tickets for a scheduled program sold through advance sales, daily sales, or your web forms. These are tied to a specific program event with a date and time.
- Group sales reservations, where a school or tour group books a program as part of an itinerary. These often live apart from individual ticket sales and may only show a group contact, not each attendee.
- Event registrations, if you run some workshops or classes through Altru’s events area rather than as programs. Those have their own registrant records.
Before you build anything, ask the person who wants the list which of these they mean. If the answer is “all of them,” you will likely need more than one query, or one query per source combined in a spreadsheet. If you aren’t sure where a particular class is being sold, look up a recent purchase for it and see which kind of record it created.
Build the query around the program date, not the sale date
The most common mistake is filtering on when the ticket was purchased. That gives you everyone who bought something recently, which is useless for a roster. You want the date the program takes place.
- Start an ad-hoc query from the source that matches your sales. For program tickets, that’s typically a sales order or ticket-related source where you can reach the program and its event date. For event registrations, start from the event or registrant source. Browse the available fields before committing; the field you need is the program event’s date (and ideally its start time).
- Filter on the program event date. Use a relative date filter if one fits your range, so the query rolls forward on its own instead of needing new dates every morning. If none of the built-in relative options match “the next five days” exactly, pick the closest wider range (such as this week and next) and sort by date, or accept editing a fixed date range each time you run it. Test which relative options your version offers rather than assuming.
- Filter by program if the list is for one team. Camp staff don’t need the planetarium shows. A filter on program name or program category keeps each team’s list short.
- Exclude what shouldn’t be there. Check how refunded, exchanged, or canceled tickets appear in your data, and filter them out. Run the query against a past date range where you know the real attendance and compare; this is the fastest way to catch double counting.
- Choose output fields people will actually use. Usually: program name, event date and start time, constituent name, ticket quantity or price type, and a phone number or email for day-of changes. Add any smart fields or attributes you track for things like allergies or age, if that data lives on the constituent record.
- Sort by date, then time, then last name. That turns a data dump into something someone can check people in from.
- Save it with a clear name and share it with the staff who need it, so they can run it themselves without asking you.
A note on purchaser vs. attendee
Altru records who bought the ticket. When a parent buys three camp tickets, the query may show one name with a quantity of three, not three children. If your programs need individual attendee names, find out whether you capture them anywhere (attributes, notes, a registration question on the web form) and confirm that data is queryable before promising a name-by-name roster. If it isn’t captured today, that’s a process change, not a query change.
Check the built-in reports too
Depending on your setup, Altru may already have a roster- or manifest-style report for program events that answers the single-event version of this question. These are handy for printing the list for one session. They are less useful for “everything happening in the next few days across programs,” which is why the query approach above tends to win for planning. If you can’t find a report that fits, Blackbaud support can tell you what’s available in your version.
Getting the list to the people who need it
A saved query solves the data problem, but it still requires someone to log in to Altru, run it, and export it. For staff who don’t use Altru daily, such as seasonal camp counselors, instructors, or volunteer leads, that step is often where the process breaks down. Common workarounds:
- Someone runs the query each morning and emails the export. Simple, but it depends on one person remembering.
- Program staff get limited Altru access and run the query themselves. Workable if your license count and security roles allow it.
- The list is pushed automatically to a shared spreadsheet that refreshes on its own.
That last option is where Data Bridge comes in: it syncs Altru query results to Google Sheets and other tools, so a saved upcoming-registrants query can feed a shared sheet that program staff open without logging in to Altru. The query you build above is still the source of the data, and Altru remains where registrations are recorded.
Quick answers
Why does my list include people from last month?
The filter is probably on the sale or transaction date instead of the program event date. Switch it to the date the program happens.
Why are my group bookings missing?
Group sales reservations are often stored separately from individual ticket sales. Build a second query from the group sales side, or confirm with Blackbaud support which source covers both.



