Connecting venue integrations for ticket resale

When a customer buys from a resale block, the platform needs to hand the buyer's details off to the venue so the venue can issue them the actual entry credentials. There are two ways venue connectivity gets configured:

Platform credentials (default for most orgs)
• Turtini holds active partner agreements with Eventbrite (Off-Platform Sales), Ticketmaster (Partner Network), AXS (Mobile Distribution), and SeatGeek (Sponsor tier)
• When you create a resale block and pick a vendor, dispatches use Turtini's shared credentials — no setup required from your org
• You see "Active (platform)" next to each vendor on the Venues integration panel
• Free for your org; the partner-agreement maintenance is on Turtini's side

Per-org override credentials
• If your org has its own venue partnership (your own Ticketmaster TM1 account, your own Eventbrite organizer account, etc.), you can connect those creds and override the platform default
• Where: Settings → Integrations → Venues → click the vendor → Connect with own credentials
• Creds are stored server-side only (never returned to the browser after save)
• Dispatches use your org creds first, then fall back to platform creds if your creds fail validation

Manual CSV (always available)
• If a vendor isn't connected at all, dispatches queue as a "Pending CSV download" — admins go to the resale block and Download CSV to hand off manually to the venue
• Useful for venues that aren't in the partner list (small independent venues, season-ticket holder swaps)

Vendor status pills:
• Active — credentials are valid and dispatches succeed
• Warning — credentials work but the partner reports degraded service (dispatches still attempt)
• Failed — credentials are invalid or expired (dispatches fall through to the next available creds, and admins are notified)
• Coming soon — partnership exists but the integration code is not live yet (use Manual CSV)