Skip to main content

Leagues

The League system is designed for youth sports uniforms, school athletics, and any program where you need to collect individual player information (name, number, size), then fulfill garments on a per-player basis.

What the League System Is For

A League is a parent container (e.g., "Westside Youth Baseball League"). Within a league you have Teams (e.g., "Cardinals U12", "Cubs U10"). Each team has Players with their name, jersey number, email address, and size.

Each player gets a unique Claim Token — a one-time link that lets them (or their parent) confirm their jersey details and choose their shipping preference without paying, because the team/sponsor has already paid the shop.

Note

Leagues are ideal when the coach or booster club pays the shop in bulk, and then each player claims their own jersey individually. If each player pays themselves, use a Group Order instead.

Creating a League

  1. Go to Admin → Leagues → New League.
  2. Enter the league name and select the storefront it is associated with.
  3. Set the season/year (for your own reference).
  4. Click Create League.

Adding Teams

Inside a league, click Add Team. Enter the team name, coach name, and (optional) coach email address. Repeat for each team in the league. Teams can be added at any time, even after player imports have begun.

Importing Player Rosters via CSV

Click on a team name to open the team detail page, then click Import Players (CSV). The CSV must have these columns:

name,number,email,size
Alex Johnson,12,alex@email.com,YL
Sam Rivera,7,sam@email.com,AM
Jordan Lee,22,,YM
  • name — Player full name (required)
  • number — Jersey number (required)
  • email — Player or parent email address (optional, but needed to send claim emails)
  • size — Requested size. Use standard size codes: YS, YM, YL, YXL, AS, AM, AL, AXL, A2XL, A3XL

Download CSV Template

Tip

If a player does not have an email address, you can still create their claim token manually and share the link by other means (printout, team app, etc.).

The Claim Token System

After importing players, SpreeShop generates a unique claim token for each player. A claim token is a secure one-time-use URL like:

https://yourstore.spreeshop.xyz/claim/t_a1b2c3d4

When a player visits their claim link, they see their name, number, and pre-selected size. They confirm the details (or request a size correction), choose their shipping preference, and submit. The claim is then marked as ordered and enters your production queue.

Emailing Players Their Claim Links

To send claim emails to all players in a team, open the team detail page and click Send Claim Emails. You can also select individual players and use the bulk action Send Claim Email. Players with no email address will be skipped and shown in a list so you can handle them manually.

The email includes: the player's name, jersey number, the claim link, and the expiry date of the claim (configurable, default 30 days).

Tracking Claim Status

Each player has a claim status that moves through this lifecycle:

StatusMeaning
PENDINGPlayer imported but no claim email sent yet.
INVITEDClaim email sent; player has not yet used the link.
ORDEREDPlayer has submitted their claim and it is in production.
FULFILLEDJersey produced, shipped or ready for pickup.

The league and team dashboards show summary counts per status, so you can see at a glance how many players are still waiting to claim.

Shipping Options

When a player submits their claim, they choose from the shipping options you have configured for that league. You can configure up to three options per team:

  • Bulk ship to coach — All jerseys for the team ship together to the coach's address. Players who choose this do not pay shipping.
  • Individual ship to home — Player's jersey ships to their home address. Player pays shipping at claim time.
  • Pickup at [location] — Player picks up their jersey at a specified location (e.g., the school, the shop). Free.

Configure shipping options for each team in the team detail page under Shipping Settings.

Was this page helpful?