The guest list is where you do most of the pre-event work: adding guests, checking details, sending tickets and exporting data. It is also the place you return to during and after the event to see who showed up.
In the toolbar at the top of the guest table, you have several ways to narrow the list quickly:
Search box — type a guest’s name or email. The system matches both name and email, case-insensitively.
Filters popover — the filter button next to the search box holds the rest of the filters:
Ticket tier — pick a specific tier (for example VIP, Staff, Speaker) to see only guests on that tier. Choose All to see everyone again.
Check-in / check-out status — only guests who have entered, only those still inside or gone, and so on.
Guest role — primary guests or their companions.
Created date — guests added before or after given dates.
RSVP status — if you have sent an RSVP attendance ask (see below), narrow the list to guests marked Attending, Not attending, or Not responded.
Companion of (family view) — pick a guest and the table shows the whole family: the primary guest plus all their companions. While the family chip is active, the search box and other filters step aside (narrowing them would hide the parent row); clear the chip to return to the normal list.
Include generated companions — blank-name companion rows are hidden from the table and exports by default, so placeholder rows don’t crowd the list. Flip this switch to surface them — for example to give a companion a name — and include them in the export again.
You can use the filters together. When you export the list to a file, the export respects every active filter — search, tier, RSVP status, check-in/check-out status and role — so the file matches exactly what you see.
The table has several default columns (name, email, tier, ticket number, invitation status, check-in, check-out, created date). If your event has custom questions (see the section below), each question also appears as its own column. Reserved attribute fields your guests actually carry — Organization, Title, Dietary, Plus one — are appended as toggleable columns too.
Click the settings button (the gear icon next to the Actions button) to turn each column on or off. Your choices are remembered for this event, so the next time you open the table it keeps the layout you chose.
Each event lets you define custom questions to collect extra information from guests beyond name, email, phone and ticket tier. There are four question types:
Click the Add Guest button at the top right of the table.
Fill in the name (required), email, phone, ticket tier and any custom questions.
Save. The guest appears in the list immediately.
To edit an existing guest, click the three-dot icon at the end of that guest’s row and choose Edit. From the same menu you can also delete the guest, open the online ticket, preview the ticket, download the ticket, open the guest’s timeline, check in or check out manually, or undo a check-in.
Guests who bring companions show a +N chip next to their name. Tap it to expand the family: companions render as real nested rows that mirror your toggled columns (name, email, tier, ticket, invitation, check-in/out, created, custom fields) and carry the full row-actions menu — edit, add companion, Zalo, ticket open/download/preview, timeline, manual check-in/out, delete — just like a primary guest. The same family view is available as a filter (see above), and it flows into the CSV export.
A few behaviors worth knowing:
Unnamed companions are hidden by default. Events that only track companion counts generate blank-name rows; the table and export hide them until you flip Include generated companions on. When included, unnamed rows render as “(unnamed)” so you can spot and name them.
Companion identity is optional. If you only track how many people ride along, leave the name/email/phone blank — the system fills a “Companion N” placeholder where an identity is strictly needed (tables, the ticket page, the scanner).
Companions inherit the primary’s custom answers. Generated and attached companions copy the primary guest’s custom-field answers, so the party’s information rides along on every ticket.
When the event is configured for count-only walk-in companions, the +N chip becomes a static badge (no expansion — companions are a headcount, not rows). The count is still editable after the fact:
The row action Edit companions opens a signed number input — positive adds that many blank companions, negative removes the newest first — with a live current → new /max preview (green when adding, red when removing).
The guest edit modal carries the same input directly below the ticket tier; it applies after the field save, defaults to 0 (count untouched), and never appears on companion rows.
Every unit is one atomic server call, so concurrent edits by several organizers can never corrupt the count.
The guest timeline is a troubleshooting view for a single guest. Open it from a guest row’s three-dot menu by choosing Timeline (the clock icon). It answers questions like “did the invitation actually go out?” and “when did this guest arrive and leave?”
The dialog shows a fixed six-step ladder, always visible, with each step marked completed, pending, or not tracked:
Step
What it shows
Registered
When the guest was added.
Ticket email sent
When the invitation or ticket email was delivered, and the recipient address.
Ticket opened
Always “Not tracked yet” (see the note below).
Checked in
When the guest checked in, and the door they used.
Checked out
When the guest checked out (time only, no door).
Won Lucky Draw
When the guest won a prize, and the prize name.
Pending steps (nothing has happened yet) show a dash. If a guest has repeat events, such as several check-in and check-out cycles or extra prize wins, an Other activity list below the ladder shows the earlier ones, oldest first.
Timestamps are shown in the event’s timezone. The dialog loads only when you open it, and the result is cached for a short time.
When you need to add many guests at once (for example a list from Excel), use the bulk import wizard. It has five steps and lets you review carefully before saving.
Download a template — Click the small arrow next to Add Guest and choose Import by CSV. In the first step, review the table of supported columns (name is required; email, phone, ticket tier, companion-of and number-of-companions are optional). Click the download button to get a template file with the correct column headers already in place — its three sample rows demonstrate every pattern: a plain guest, a linked companion, and a guest with a companion count of 2.
Upload a file — Drag an Excel (.xlsx) or comma-separated (.csv) file into the upload area, or click to browse. The file size limit is 5 MB and the maximum is 10,000 rows. On success the system reports the number of rows and columns it read.
Map columns — The system auto-detects which column in your file matches which field (Vietnamese headers such as “Họ tên”, “Số điện thoại”, “Hạng vé” are supported). Review the result and correct anything wrong; unmapped columns are listed as “will be skipped”. Besides the fixed fields, the reserved attributes — Organization, Title, Dietary, Plus one — and your event’s custom questions are offered as mapping targets. When the event allows companions and runs count-only, a checkbox switches the file to count-only companions (no companion-of link column; companions ride as numbers) — it defaults on when the file has no companion link column, and is locked on for events already configured count-only.
Validate and review the family tree — The system splits rows into two groups: valid (will be imported) and with errors (will be skipped). Each error row explains the reason, for example an invalid email, an unknown ticket tier, or a missing required field. The all-rows table previews exactly what the import will create: companion rows nest under their primary (mirroring the guest table), and a count column’s fan-out renders as the synthetic companion rows it produces. Very large files cap the preview at 300 rows with an honest truncation note.
Import — Click the button to start. The system imports in batches and shows progress. When finished, you see how many guests were imported, how many were skipped and how many failed. Skipped rows are listed with detailed reasons so you know exactly what to fix.
Start from a file — import guests into a new event
If you don’t have an event yet, the events page has an Import guests CSV action that creates the event and its guests from a single file. The review screen derives the whole event from the file: event name, one custom question per non-fixed column (Organization, Title, gender, … — created as first-class event questions), a ticket-tier column whose distinct values become the event’s tiers as-is (guests with no tier land on the “Regular” default, shown in the review), the companion allowance and mode, and a default check-in setup (one door with one linked mobile scanner) — provisioned for you after the guests land. The event defaults to today, companions default to walk-in, and the date, tier, and custom-question controls fold behind an Advanced options toggle. It uses the same companion-safe pipeline as the import above.
Once guests are in the list, you can send (or resend) their ticket by email. There are two ways to open the send window:
Pick several guests — tick the checkbox at the start of each row, then click the Send to N selected button. When filters are active you can also choose Select all N filtered guests, which selects every guest matching the filters, not just the current page.
Send to everyone — open the menu on the Send tickets button and choose Send tickets via email (N).
The send window shows the recipient count up front, including how many guests will receive a ticket for the first time and how many will receive a resend, so you can stay in control before confirming. You can also use the tier chips at the top of the window to narrow the send to a single ticket tier.
Send now — the emails are queued and sent out right after you confirm.
Schedule — you pick a future moment and the system sends them automatically at the chosen time. A scheduled send can be cancelled before it fires if you change your mind.
When scheduling, enter the exact date and time you want the send to run (24-hour format). The Schedule send button only activates when the time you picked is in the future. On a successful schedule you get a confirmation toast and can close the window — the send will happen on its own.
If your event has more than one invitation email template, the send window shows a strip of template cards to choose from. Each card shows the template name, the email subject line and a preview image. Click a card to select that template; click again to deselect and fall back to the default.
If there is only one template, the window simply states which template will be used, with no selection needed.
Every invitation email uses a sender name (the line shown next to the address in the guest’s inbox) and a sending address. These are configured at the event and template level, not in the send window:
Sender name — for example the event name or the organizing team. Guests see this before opening the email.
Sending address — made up of a prefix (the part before the @) and a verified sending domain. Verifying the domain helps the email land in the guest’s main inbox instead of being flagged as spam.
When you set the sender name and sending domain in the event setup or in an email template, every email sent from that event (both send-now and scheduled) automatically applies the same configuration.
When the recipient count is around 100 guests or more, the send runs in the background so you do not have to keep the window open:
The window shows a large-volume warning and asks you to type the exact recipient count into a confirmation field before allowing the send, to prevent mistakes on a wide broadcast.
After you confirm, the system starts sending in batches. The window shows a progress bar and the number sent out of the total (for example “Sent 320 of 1,200”).
You can close the window while sending is in progress — the send continues in the background and is not interrupted.
When finished, a result panel shows how many were sent successfully and how many failed (if any).
Every send (send now, resend, or scheduled) is recorded in the event’s email send history. You can see:
The date and time of the send and which email template was used.
The number of recipients, how many were sent successfully, and how many failed.
The status of each batch: queued, sending, completed, or cancelled.
The specific guests in each batch, with the per-guest send status.
When you reopen the send window, the system also shows a one-line summary of the most recent send (date, template used, counts) so you can keep track of progress.
Besides sending tickets, you can ask guests a simple question before the event: will you attend?
Each guest receives an email with Yes / No buttons that open a personal, signed RSVP page — no
login needed. A guest can change their answer until the event starts, and the latest answer always
wins.
Create (or pick) an email template in the RSVP ask category — see Email templates. The ask cannot be sent until at least one exists.
In the guest list, open the menu on the Send tickets button and choose Send RSVP ask.
Choose a template, review the recipient count, and confirm. As with ticket sends, confirming a large ask means typing the exact recipient count first.
The send targets exactly what you see: selected rows if you picked guests, otherwise every guest
matching the current filters. Like ticket sends, RSVP asks are send-now only, run in the background
in batches, and are recorded in the email send history.
Every guest with an electronic ticket has a PNG image ticket containing their QR code. You can download it in two ways:
Download one guest’s ticket — open the three-dot menu at the end of the guest’s row and choose Download ticket. The ticket opens in a new window; you can save it.
Download many tickets at once — click the Actions button and choose Download Tickets. With rows selected, the ZIP contains exactly those tickets; with nothing selected, the system collects every guest matching the current filters and bundles their tickets.
Two options in the Actions menu export raw QR codes instead of designed tickets — useful when you handle printing yourself:
Download QR images — renders in your browser and bundles every guest’s e-ticket QR as print-ready 1024px PNGs (high error-correction level) in a dated ZIP. It follows the same selection conventions as ticket downloads (bulk set → selection → filtered set → current page) with the same 300-guest cap, and records any failures in an errors.txt inside the ZIP.
Export all QR codes — a server-side export of every guest’s QR with no selection and no cap, built for large events. The page polls the job and auto-downloads the ZIP when it completes; one export can run per event at a time (a second click re-attaches to the running job), and a job stuck without progress expires on its own instead of blocking new exports.