Fay

The Handbook

Contents of the handbook

Chapter XIV · Big features

Ticket imports

Turn a box-office CSV into people and attendance in one guided pass: Eventbrite, Square, and more.

What ticket imports are for

A ticket import turns a box-office export, the CSV your ticketing platform hands you after an event, into real people and real attendance in one guided pass. The whole point is that it matches every row against the people you already have rather than blindly duplicating them: a patron who has bought tickets to three concerts stays one person with three orders, not three near-identical records.

You start an import from a single event. Open the event and click Import tickets (see the Events article). Everything the import goes on to create, new people, their ticket orders, and the attendance, is filed against that one event.

That per-event shape is what distinguishes it from its sibling. Importing your history brings in a roster or a giving history, which belong to your organization and to no particular night. Ticket imports are the right tool for attendance, including a list a partner orchestra sends after a concert they produced, create the event, then import their list against it.

The platforms it reads

Fay reads exports from the platforms small organizations actually use: Eventbrite, Ticket Tailor, TicketSource, Square, and a Generic CSV for anything else. Eventbrite files are recognized and auto-mapped, you pick the platform, choose the file, and Fay already knows which column is the email, the name, the ticket type, and the total paid. The other platforms use a generic column mapping: the same idea, with Fay lining the columns up against its fields for you.

The guided upload

The import is a short guided deck rather than a single busy form. Four slides walk you from “do I even have the file?” to a preview:

  • Start: “Do you have your attendee export ready?” Say yes to carry on; say not yet and Fay sends you to the export help first.
  • Export help: plain steps for downloading a CSV from your platform, so you are not hunting through its menus.
  • What happens next: the slide that explains the matching before you commit to anything.
  • Upload: pick your platform, choose the CSV file, and click Upload and preview.

On that “what happens next” slide, Fay spells out how it reads each row:

  • Email is used to find the person.
  • Name tells it who they are.
  • Total paid becomes what they gave.

It links people, never creates a second copy. Brand-new attendees become new people; rows that are anonymous or blank are skipped, not invented. Nothing is written to your data on this step; the upload only builds a preview for you to check.

Status & the three-step tracker

Each import carries its own status badge, so you always know where it stands:

  • pending: the file is uploaded but nothing has been mapped yet.
  • mapped: its columns have been matched to Fay’s fields.
  • previewing: the preview has been built and is waiting for your review.
  • committed: people, orders, and attendance have been written.
  • failed: the file could not be read.

The import’s show page turns that into a three-step tracker you move along in order: Uploaded → Review matches → Import.

The preview

Nothing is written until you say so. When the upload finishes, Fay builds a preview, a dry run of exactly what committing would do. Four stat cards sit across the top so you can read the shape of the file at a glance: Matched to existing people, New people added, Need a quick look (the ambiguous count), and Anonymous / skipped.

Below them, a row-by-row table lays out every line of the file, Name, Email, Ticket, Qty, Amount, and a What happens column that carries this row’s match badge:

  • Matched: {name}: an existing person, matched by exact email plus a compatible first name. Committing links the order to them.
  • New person: no one on file fits, so a fresh person will be created.
  • Needs review: ambiguous: more than one possible match, or a shared family email. These are the rows worth your eyes before you import.
  • Anonymous: no email and no usable name. It is counted, but no person is made.

Because the preview is a dry run, you can fix the handful of Needs review rows and re-check before a single record changes.

Committing the import

When the preview looks right, committing runs in the background, so you do not have to wait on the page, and it is safe to re-run. The import is idempotent: it creates and links people and their ticket orders, and running it a second time will not double anyone. Every brand-new person is recorded as first-seen via ticket import, so the “How we met” line on their People record tells the true story later.

Afterward Fay refreshes your cultivation suggestions, so the first-timers you just added surface in the welcome queue on their own, and the event’s audience & attendance figures update to match. If a file is malformed, the import fails gracefully, you get “We couldn’t read this file,” the status turns failed, and nothing is left half-written.

Maria’s day

It is the Tuesday after Riverside’s winter concert. Maria has a shoebox of stubs on the desk and a 400-row Eventbrite export in her inbox. She opens the event, clicks Import tickets, picks Eventbrite, chooses the file, and hits Upload and preview.

The preview comes back and does the reading for her: 360 Matched to people already on file, 34 New person, 3 Needs review, a shared household email that could be either of two Delgados, and 3 Anonymous walk-ups who paid cash and left no name.

She fixes the three that need a look, clicks Import, and lets it run. By her second coffee the four hundred rows are people with histories, and a new welcome queue is already waiting for the thirty-four she has never met.