Send local team contracts — email + e-sign flow #74

Closed
opened 2026-03-24 09:52:13 +00:00 by forgejo_admin · 1 comment

Type

Feature

Lineage

plan-wkq → Phase 14 → Contract send (local)

Repo

forgejo_admin/westside-contracts, forgejo_admin/basketball-api

User Story

As an admin
I want to send contract emails to all local team parents
So that they can sign their player agreements for the $200/month program

Context

Local contract is different from travel: no circuit registration, no travel costs, no live periods, no recruiting section. Tournaments decided as a group via GroupMe, billed separately when confirmed.

Local teams: 17U Local Kings, 16U Local Kings, Queens (16U/17U Elite/Local Queens).

File Targets

  • Email send script or manual send via Gmail MCP
  • Local email TLDR draft (shorter than travel — no circuit/recruiting bullets)

Acceptance Criteria

  • Lucas gives explicit approval to send
  • Email sent to all local team parents with personalized token links
  • Local contract renders correctly (no travel content)
  • Parents can click, view contract, sign
  • Confirmation email with GroupMe link fires after signing

Test Expectations

  • Verify local contract page renders for at least 2 local team players
  • Run command: verify via DB query + Playwright

Constraints

  • Do NOT send without explicit Lucas approval
  • Local email draft needs approval before send
  • Contract language: "Once signed, we will connect with all parents to discuss tournaments and leagues within the state of Utah"

Checklist

  • Lucas approves email draft
  • Lucas approves send
  • Emails sent
  • First signatures verified in DB
  • project-westside-basketball
  • westside-app #72 — parent ticket
### Type Feature ### Lineage `plan-wkq` → Phase 14 → Contract send (local) ### Repo `forgejo_admin/westside-contracts`, `forgejo_admin/basketball-api` ### User Story As an admin I want to send contract emails to all local team parents So that they can sign their player agreements for the $200/month program ### Context Local contract is different from travel: no circuit registration, no travel costs, no live periods, no recruiting section. Tournaments decided as a group via GroupMe, billed separately when confirmed. Local teams: 17U Local Kings, 16U Local Kings, Queens (16U/17U Elite/Local Queens). ### File Targets - Email send script or manual send via Gmail MCP - Local email TLDR draft (shorter than travel — no circuit/recruiting bullets) ### Acceptance Criteria - [ ] Lucas gives explicit approval to send - [ ] Email sent to all local team parents with personalized token links - [ ] Local contract renders correctly (no travel content) - [ ] Parents can click, view contract, sign - [ ] Confirmation email with GroupMe link fires after signing ### Test Expectations - [ ] Verify local contract page renders for at least 2 local team players - Run command: verify via DB query + Playwright ### Constraints - Do NOT send without explicit Lucas approval - Local email draft needs approval before send - Contract language: "Once signed, we will connect with all parents to discuss tournaments and leagues within the state of Utah" ### Checklist - [ ] Lucas approves email draft - [ ] Lucas approves send - [ ] Emails sent - [ ] First signatures verified in DB ### Related - `project-westside-basketball` - westside-app #72 — parent ticket
Author
Owner

Closing — done. Contract infrastructure complete, Phase 15 SPA overhaul supersedes current-app features.

Closing — done. Contract infrastructure complete, Phase 15 SPA overhaul supersedes current-app features.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
forgejo_admin/westside-landing#74
No description provided.