Important constraints
Supporting multiple providers and venues without spreading provider-specific behavior through the core product.
Diagnosing failures that may originate in application code, external APIs, venue networks, firewalls, virtual machines, or credentials.
Keeping wallet, membership, notification, and venue behavior consistent despite different provider capabilities.
Communicating technical responsibility clearly when resolution depends on venue IT or external vendors.