Status: Pre-Integration Utility
This is a standalone utility that provides immediate value while the full event check-in integration is in planning. It converts GiveCampus RSVP exports into the format required by the event check-in app (alum-events).
Currently, preparing event attendee data for the check-in app requires:
This manual process is error-prone and time-consuming for each event.
A web-based converter within Alumni Lookup that:
Based on actual GiveCampus export files:
| Column | Description | Example |
|---|---|---|
Last Name |
Guest last name | Jones |
First Name |
Guest first name | Brody |
Guest Email Address |
brody.jones@belmont.edu | |
Guest Affiliations |
(often empty) | |
Event RSVP Status |
Attending, Not Attending, etc. | Attending |
Checked In? |
Yes/No | No |
Registration ID |
Group/registration identifier | 716327 |
Registrant Last Name |
Primary registrant | Jones |
Registrant First Name |
Primary registrant | Brody |
Constituent ID |
BQID (C-000000000) or N/A | C-000267547 |
Event Ticket Type |
Ticket type | Attendee |
Ticket Category |
Category | Individual |
Uploaded Offline? |
Yes/No | No |
RSVP No At |
Date if declined | N/A |
affiliation_to_belmont |
Relationship type | Faculty/Staff, Alum |
The event check-in app expects:
| Column | Description | Source Mapping |
|---|---|---|
initial_registration_date |
Registration timestamp | Generated or default |
transaction_id |
Transaction ID | N/A |
registration_id |
Group identifier | Registration ID |
guest_constituent_id |
BQID | Constituent ID (cleaned) |
affiliation_to_belmont |
Relationship | affiliation_to_belmont |
event_id |
Event identifier | User-provided |
guest_first_name |
First name | First Name |
guest_last_name |
Last name | Last Name |
guest_email_address |
Guest Email Address |
N/A values → empty stringC-000000000Alum → Keep as-isFaculty/Staff → Keep as-isGuest → Keep as-isGuest (default)Event RSVP Status = AttendingRSVP No At has a date (declined after RSVP)When processing, offer to match against Alumni Lookup database:
Constituent ID matches alumni.contact_idGuest Email Address matches alumni.pref_email or alumni.bu_emailThis enrichment could:
Settings > Event Converter (or Settings > Import/Export > Event RSVP Converter)
{event_name}_attendees_{date}.csvcan_event_manage permission when event integration is completeapp/
├── controllers/
│ └── settings/
│ └── event_converter_controller.rb
├── services/
│ └── csv/
│ └── event_rsvp_converter.rb
└── views/
└── settings/
└── event_converter/
├── new.html.erb # Upload form
└── preview.html.erb # Results and download
This utility is designed to be forward-compatible with the full event integration:
GiveCampusCsvImporterContact model attributesThe converter service class (Csv::EventRsvpConverter) will eventually be subsumed or extended by the full import service, but the core transformation logic remains valid.
| Type | Coverage |
|---|---|
| Service unit tests | Parsing, transformation, edge cases |
| Controller tests | Upload, preview, download actions |
| Fixture | Sample GiveCampus CSV for testing |
This is intentionally lightweight to provide immediate value while the larger integration is planned.