Files
OSIT-AE-App-Svelte/documentation/MODULE__AE_Events_Badges.md
Scott Idem 518a450b91 docs(events): reorganize badges and leads documentation
Standardized documentation structure for Badges and Leads modules into
focused technical references and practical onsite guides.

- Refined MODULE__AE_Events_Badges.md (Core data integrity & sync logic)
- Renamed MODULE__AE_Events_Exhibitor_Leads.md to MODULE__AE_Events_Leads.md
- Renamed MODULE__AE_Events_Badges_Onsite.md to GUIDE__AE_Events_Badges_Onsite.md
- Expanded GUIDE__AE_Events_Onsite_Runbook.md with Badge and Leads sections.
- Maintained all critical business logic, including the 'Override Fields' pattern.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 22:40:06 -04:00

4.5 KiB

Aether Events — Badges

The Badges module manages event attendee records and their physical badge configurations. It supports multi-source imports, field protection for onsite edits, and multi-tier access control for self-service review.


Data Model & Hierarchy

Core Objects

  • Event Badge (event_badge): The attendee record containing name, title, affiliations, and tracking flags.
  • Badge Template (event_badge_template): The visual and structural configuration for printing (branding, layout, QR placement).

Relationships

  • Badge → Event: Many-to-one.
  • Badge → Template: Many-to-one (via event_badge_template_id).
  • Badge → Person: Optional link to core Aether Person record for unified profiles.

Critical Design Pattern: Override Fields

Purpose

The *_override fields pattern (established in 2018) protects data from being overwritten during scheduled cron syncs from external systems (iMIS, Novi, etc.). This ensures that staff corrections or attendee self-updates persist across multiple sync cycles.

How It Works

  1. Import: External systems populate REGULAR fields only.
  2. Display Logic: The UI displays the *_override field if it has a value; otherwise, it falls back to the regular field.
  3. HTML Rendering: Certain display fields (Name, Title, Affiliations, Location) support HTML markup for rich text formatting (bold, italics, line breaks) on the physical badge.

Standard Override Pairs

Regular Field Override Field Editable By HTML?
full_name full_name_override Staff, Attendee
professional_title professional_title_override Staff, Attendee
affiliations affiliations_override Staff, Attendee
location location_override Staff, Attendee
email email_override Staff Only No
badge_type badge_type_override Staff Only No

External System Integration

Aether acts as a Pull-Only consumer for registration data. It does not push changes back to external systems, maintaining them as the source of truth for base registration while Aether handles the "Onsite Truth."

Supported Sources

  • iMIS, Novi AMS, Impexium (Associations)
  • Zoom, Cvent (Registrations)
  • Confex (Abstracts/Presenters)
  • Custom CSV/Excel

Access Control & Permissions

Level Access
Authenticated View own badge, limited self-edit (overrides only).
Trusted Search all badges, view all, reprint existing badges.
Administrator Full CRUD, bulk operations, override any field.
Manager All Admin + Event/Template configuration.

Attendee Self-Service (/review)

Attendees can access their own record via a passcode-gated link (typically ?passcode=...). This allows them to verify their info and provide preferred name/title overrides before printing.


Search & Filter Capabilities

  • Fulltext Search: Matches against a consolidated default_qry_str (Name, email, IDs).
  • Multi-Word Logic: Queries like "Scott Idem" are split and treated as LIKE %Scott% AND LIKE %Idem%.
  • QR Scan Search: Scanning an attendee's QR code (from a confirmation email or old badge) immediately jumps to their record.
  • Advanced Filters: Filter by Badge Type, Printed Status, or Affiliations (Staff only).

Print Tracking

Aether tracks the lifecycle of every physical badge to prevent unauthorized reprints and monitor kiosk activity.

Field Purpose
print_count Increments on every "Print Badge" action.
print_first_datetime Timestamp of the very first print.
print_last_datetime Timestamp of the most recent print.

Operational Note: Reprints triggered via the Edit Mode shortcut do not increment the count; only the formal "Print Badge" workflow does.


Route Map (Badges)

URL Purpose
/events/[id]/badges Main search and attendee list.
/events/[id]/badges/templates Badge template management.
/events/[id]/badges/[id]/print The actual print-ready render page.
/events/[id]/badges/[id]/review Attendee-facing self-service form.

👉 MODULE__AE_Events_Badge_Templates.md (Technical reference for layouts) 👉 GUIDE__AE_Events_Badges_Onsite.md (Hardware & station setup) 👉 GUIDE__AE_Events_Onsite_Runbook.md (Onsite operational checklists)