Chapter 2 — The Hierarchy: Leagues, Teams & Clients
Attend onboarding guide · ~5 min read · ↑ Back to contents
In Chapter 1 we said Attend's customers are teams. Let's make that precise — because the way sports is organized shapes how Attend thinks about almost everything: who the customer is, who gets their own store, and who Attend bills.
Leagues → Teams
North American sports (US & Canada) are organized into leagues. The ones Attend works with:
| League | Sport |
|---|---|
| MLB | Baseball |
| NBA | Basketball |
| NHL | (Ice) Hockey |
| NFL | American Football |
| NCAA | College sports — here the "teams" are universities |
Each league has many teams: the NBA has the Golden State Warriors and the Sacramento Kings; MLB has the Arizona Diamondbacks and the Toronto Blue Jays; in the NCAA a "team" is a university like the University of Florida. (There's minor-league baseball in the mix too, but the leagues above are where most of Attend's clients are.)
The client is the team
Here's the key point:
Attend's client is the team, not the league.
Attend doesn't sign a deal with "the NBA" — it signs with the Golden State Warriors. The Warriors get their own Attend store; the Kings get a separate one. The league is just context.
And it's usually even simpler than that, because for a typical team:
client = team = one venue. The Golden State Warriors are the client, they're the team, and they play in one arena. So most of the time you can just think "the Warriors" and ignore the distinction.
Rule of thumb: "Forget about the client — just think: leagues have teams, and teams are our clients." That's the 90% case. Now the two exceptions, so they don't surprise you later.
Two exceptions worth knowing
1. One client, two teams — MSG. Madison Square Garden owns two teams in two different leagues: the Knicks (NBA) and the Rangers (NHL). So a single client maps to two teams across two leagues. (An open question Attend is still working out: can one store sell both teams' tickets together?)
2. One client, hundreds of venues — Live Nation. Live Nation is a concerts company, not a sports league. (Live Nation Entertainment also owns Ticketmaster — but to Attend it's just another client, like any team.) It's a single client that owns ~200–300 venues where artists perform. The Attend model is the same — sell on top of a ticketing system — just concerts instead of games, and many venues instead of one stadium.
Normal case: each team is its own client (Warriors, Diamondbacks). Exception: the Knicks and Rangers both belong to one client, MSG. Live Nation sits outside this picture entirely — one client, hundreds of concert venues.
Why this matters for you
When you build a feature, "who is this for?" almost always means which team (client) — and every client has its own configuration and its own store. The league rarely shows up in code; the client is the unit that everything is scoped to. (How that scoping works is Chapter 5.)
Recap
- US sports = leagues → teams; Attend works across MLB, NBA, NHL, NFL, and NCAA.
- The client is the team, not the league — and usually client = team = one venue.
- Two exceptions: MSG (one client, two teams) and Live Nation (one client, hundreds of concert venues).
- Everything Attend builds is scoped to a client.
Next → Chapter 3 — The Ticketing Vendors: who actually owns the seats