!!-IMAGE-NEEDED-!! — /organizations/[id]/merch/[productId] → product editor with image uploader and variants table
Top-level fields
- Name, slug.
- Description — markdown body shown on the product page.
- Images — upload one or more; the first is the cover image. Click the trash icon on a thumbnail to remove it.
- Base price (USD) — the default unit price; per-variant overrides take precedence.
- Status —
Draft (hidden)/Active (visible in store)/Archived.
Variant options
Define the option types customers can pick from — e.g.Size: S, M, L, XL or Color: Red, Blue. Skip this section if your product has no variations.
Each option has a name and a list of values. Add as many option types as you need.
Variants
Under Variants, add one row per combination of option values you actually sell.
Riders see only active variants whose available stock (
inventory − reserved) is greater than zero.
Where it sells
Three independent toggles control where a product is offered:Offer as a registration add-on
When enabled, riders can add this product to their cart during signup for the events you pick below the toggle. Add-ons always use pickup at the event — you can’t ship a registration add-on.Show in public storefront
When unchecked, the product is hidden fromtime2.bike/[orgSlug]/store and only sold as a registration add-on. Use this for event-exclusive items (a race shirt that ships with race entry, for example) you don’t want random visitors buying.