Documentation Index

Fetch the complete documentation index at: https://docs.blackthorn.io/llms.txt

Use this file to discover all available pages before exploring further.

Table & Block Ticketing

Prev Next

Sell a whole table, foursome, or sponsorship package as a single ticket — and let the buyer fill in each guest's details later, on their own time. Table & block ticketing is built for galas, fundraisers, sponsorships, and any group event where the person paying doesn't yet know who's coming.

Instead of collecting eight names and emails up front, the buyer purchases the package at one price, becomes the group's Group Coordinator, and adds each guest afterward from their AttendeeLink — right up to a deadline you set. No spreadsheets, no follow-up chasing.

How it works

  1. You flag an Event Item as a block ticket and set how many seats it holds (for example, a "Table" of 8).
  2. The buyer purchases the whole package at a single price and becomes the Group Coordinator, taking the first seat. The remaining seats are created as empty placeholder guest slots ("Guest 1," "Guest 2," …).
  3. The Group Coordinator opens their AttendeeLink and fills in each guest — name, email, and any Event Item or Session questions — one slot at a time. They can leave slots blank and come back, replace a guest, or clear a slot, until your edit deadline.
  4. Each guest (optionally) gets their own confirmation email and AttendeeLink as soon as their slot is filled.

Attendee counts, check-in lists, and reporting are based on filled seats, not the seats you sold — so an unfinished table never inflates your numbers.

Setting up a block ticket

Block ticketing is configured on the Event Item you want to sell as a package — on the Salesforce record itself

Before you start: the block-ticket fields aren't added to the Event Item or Event Settings page layout by default. A Salesforce admin needs to add Is Block Ticket, Block Seats, and (optionally) Block Unit Label to the Event Item layout, and Send Block Guest Confirmation Emails / Block Guest Edit Deadline to the Event Settings layout, before the options below are visible. Direct setup inside Event Builder is planned for a future release.

  1. On the Event Item, turn on Is Block Ticket.
  2. Set Block Seats to the size of the package (2–150). Seat 1 goes to the Group Coordinator; the rest become guest slots.
  3. Optionally set a Block Unit Label — the noun buyers see for one unit, such as "Table" or "Foursome." It shows up at checkout as "Table 1 of 3." Left blank, it defaults to "Group."
  4. (Optional) On Event Settings, set a Block Guest Edit Deadline — the date and time after which Group Coordinators can no longer change guest details from AttendeeLink.
  5. (Optional) On Event Settings, keep or clear Send Block Guest Confirmation Emails (on by default) to control whether guests are emailed when their slot is filled.

The package price is simply the price of the Event Item — buyers see one clean package price, not a per-person multiple.

The buying experience

At checkout, the buyer enters their own details once, under the Group Coordinator heading ("You'll manage guest details for this group after checkout") — not once per seat. If they buy more than one unit, each is labeled with your unit noun: "Table 1 of 3," "Table 2 of 3," and so on. The Coordinator occupies a seat in only the first unit; every other unit is created with all seats open for guests.

Managing guests after purchase

From their AttendeeLink, the Group Coordinator sees a Manage Guest Seats card with a row per seat. For each guest slot they can:

  • Add a guest — click Edit to open a modal and enter the guest's name, email, and any required Event Item Form or Session Form questions. The same field types, validation, and conditional logic as regular registration apply, so a guest added later is just as complete as one registered up front.
  • Edit a guest — update any detail up to the edit deadline.
  • Replace a guest — change the email to a different person; Blackthorn confirms the replacement, releases the previous guest, and starts the new one fresh (see Replacing vs. correcting a guest below).
  • Clear a slot — empty it back to a placeholder while keeping the seat.
  • Leave a slot blank — save what's done and return later.

Editing always opens in a modal, so long guest or session forms never turn the page into an endless scroll.

Once the Block Guest Edit Deadline passes, the Manage Guest Seats card becomes read-only. (Admins can still adjust guests directly in Salesforce.)

Executive Assistant (EA) mode

Sometimes the person buying the table isn't attending — an executive assistant booking for a team, for example. Each Group Coordinator row has an Attending? toggle:

  • Attending? on (default) — the Coordinator keeps seat 1; the remaining seats are for guests.
  • Attending? off — the Coordinator's seat is released and every seat opens up for guests.

You can switch modes any time before the edit deadline. If seat 1 already has a guest in it, clear that guest before turning Attending? back on.

Guest confirmation emails

When Send Block Guest Confirmation Emails is on (the default), each guest receives their own confirmation email with a personal AttendeeLink the moment their slot is filled with a name and valid email. The email names the Coordinator who registered them ("{Coordinator} registered you for {Event}") so it doesn't look like spam. Editing a guest's details after that first save does not send another email. Turn the setting off to keep the Group Coordinator as the group's only point of contact.

Placeholder guests and your Salesforce data

This is the most important thing for admins to know: empty guest slots are placeholders and deliberately create no related records.

  • A placeholder Attendee has no Contact, Lead, Account, or Person Account — none is created or matched while the slot is empty, regardless of your Attendee Default Object setting.
  • Placeholders are excluded from attendee counts and rollups, check-in lists, the event app attendee view, and Campaign Member sync.
  • When the Coordinator fills the slot, Blackthorn runs the standard related-record pipeline — email-first matching, your org's duplicate rules, and your Attendee Default Object setting all apply — and the guest starts counting everywhere.

⚠️ Behavior change to watch for: any automation, flow, or trigger that fires on Attendee insert and assumes a Contact is always present will now see placeholder Attendees with a null Contact lookup. If you have such automations, gate them on Placeholder = false.

Replacing vs. correcting a guest

When a Coordinator changes a filled guest's email, Blackthorn asks whether they're replacing the guest with a different person:

  • Different person (replace) — the old Attendee is deleted and a brand-new Attendee is created in the same seat. The previous guest's AttendeeLink stops working immediately (it returns a "no longer registered" page), and their form answers are cleared. Their Contact is never deleted — it's simply detached. Matching and confirmation email run fresh for the new guest.
  • Same person (typo fix) — the existing Attendee and its Contact are updated in place; no re-matching happens.

Clearing a slot behaves like a removal: the seat reverts to a placeholder, the guest's AttendeeLink is invalidated, and their form answers are cleared. No removal email is sent.


For Salesforce admins — technical reference

Package: Ships in Events 5.59 (Salesforce upgrade required).

Configuration fields

Object Label API Name Type Default Notes
Event Item Is Block Ticket Is_Block_Ticket__c Checkbox false Turns the Event Item into a single block/table package. Admin R/W; app read.
Event Item Block Seats Block_Seats__c Number (18,0) Seats in the package. The app enforces a 2–150 range (not a field-level limit). Seat 1 = Group Coordinator; seats 2–N = guest slots. Admin R/W; app read.
Event Item Block Unit Label Block_Unit_Label__c Text (40) — (app shows "Group") Noun shown at checkout / AttendeeLink, e.g. "Table 1 of 3." Admin R/W; app read.
Event Settings Send Block Guest Confirmation Emails Send_Block_Guest_Confirmation_Emails__c Checkbox true Emails each guest their AttendeeLink when their slot is first filled. Editing after the first save does not resend.
Event Settings Block Guest Edit Deadline Block_Guest_Edit_Deadline__c DateTime blank (no deadline) After this datetime, Coordinators can't change guest slots from AttendeeLink; admins can still edit inside Salesforce. Enforced server-side, not just in the webapp.

System-managed fields (read-only reference — set automatically, don't edit)

Object Label API Name Type Purpose
Attendee Placeholder Is_Placeholder__c Checkbox True while a guest slot is unfilled. Placeholders create no related records and are excluded from counts, check-in, and Campaign sync.
Attendee Primary Block Manager Is_Primary_Block_Manager__c Checkbox Marks the Group Coordinator.
Attendee Block Group Block_Group__c Lookup (Table) Links the attendee to their block.
Session Attendee Placeholder Is_Placeholder__c Checkbox True while the session registration belongs to an unfilled slot.
Table Executive Assistant Managed Executive_Assistant_Managed__c Checkbox True when the Coordinator opts out of attending (all seats open to guests). Can't be disabled while seat 1 is filled.
Table Block Ticket Group Is_Block_Ticket_Group__c Checkbox Marks a Table created by a block purchase.
Table Block Event Item Block_Event_Item__c Lookup (Event Item) Resolves block size and pricing for the group.

Permissions: the customer-facing configuration fields have field-level security granted across the Blackthorn Events permission sets; system-managed fields are Admin/app read.

Layout note: these fields ship with permission-set access but are not placed on any packaged Event Item or Event Settings layout, and are not exposed in Event Builder in 5.59. Add the configuration fields to your layouts to make them editable. Validation (Block Seats required, 2–150) is enforced at the record layer, so it applies however the fields are set. Direct Event Builder support is planned for a future release.

Notes for admins

  • Placeholders and automation — see the behavior-change callout above; gate Contact-dependent Attendee automations on Is_Placeholder__c = false.
  • Shared emails are allowed — the same email in two seats (couples, a parent registering children) is a soft warning, not a block; both Attendees may correctly link to one Contact.
  • Edit deadline is enforced in Salesforce, so API-driven writes after the deadline are rejected too — not only the AttendeeLink UI.
  • Cancellations — a block-level cancellation cascades to the block's attendees; a guest change never sets an Attendee to Cancelled (that status is reserved for real cancellations/refunds).