0007. Free-Player Onboarding and Availability Profile
Status: Approved Author: Codex Created: 2026-03-09
Overview
This PRD defines the second-stage onboarding that turns a basic player into a discoverable free player. It captures the availability/preferences wizard, deferral behavior, and the success state that makes the player ready for invitations.
Problem Statement
The base player card is not enough for team matching. Teams need to know what kind of group a player is looking for, when they can play, and where they are willing to travel. Without that extra profile, the market becomes low-signal and invitation quality suffers.
Goals
- Capture the extra data needed to make a player discoverable by teams.
- Keep the flow short enough to complete after base profile onboarding without feeling like a second full onboarding.
- Allow users to defer the flow while still receiving reminders to finish it.
Success Metrics
- High completion rate for the free-player availability wizard.
- Increased number of players with complete market-ready profiles.
- Higher conversion from free-player onboarding completion into market browsing.
Scope
In Scope
- Free-player intro screen.
- Four-step availability/preference wizard.
- Skip behavior with completion reminders.
- Success state that routes the player into the market.
Out of Scope
- Team-side discovery and invitation logic.
- Public profile moderation or anti-spam controls.
- Payment preferences, skill ranking, or competitive history.
Personas and Roles
- Free-player-intent user: Wants to get discovered by teams and receive relevant invitations.
- Returning player editing free-player data: Wants to update preferences later from Profile.
- Organizer searching the market: Depends on this data being rich enough to filter by meaningful criteria.
User Journey
- The user chooses the "search for a team" path after the base player card.
- The product explains that a few extra details will help find a good team.
- The user completes preferred group type, available days, preferred time windows, and desired locations.
- The user either finishes the wizard and becomes discoverable or skips it and receives a reminder notification.
- Successful completion routes the user straight into the market.
Functional Requirements
Free-Player Entry and Deferral
- The free-player intro screen shall explain why the extra data is needed for matching.
- The user shall be able to start the wizard immediately or defer it.
- Deferring the flow shall require confirmation and generate an in-app reminder notification about completing the free-player profile later.
Availability and Preference Wizard
- The wizard shall capture, in order: preferred group type, available days, preferred time windows, and desired locations.
- Group type shall support multi-select across masculine, feminine, and mixed play groups.
- Day availability shall support multi-select across all seven days.
- Preferred time windows shall support multi-select across morning, midday, afternoon, late afternoon, and night.
- Desired locations shall be captured via a typeahead selector backed by a database-managed list of CABA neighbourhoods (e.g. Palermo, Belgrano, Villa Crespo). The user starts typing and selects from matching options. Multiple neighbourhoods may be added to the list. The neighbourhood vocabulary is managed in the database; new entries can be added without a code change.
- Each step shall block continuation until the user has provided at least one value for that category.
- The footer controls shall provide progress, back, skip/cancel, and final completion behavior consistent with the base player wizard.
Editing and Completion
- When the free-player wizard is opened from Profile, it shall return to the originating screen when saved.
- Completing the wizard for the first time shall route the user into the market rather than back to Profile.
- The completion state shall confirm that the free-player profile is now complete. It shall clearly communicate that the profile is not yet visible in the market by default and that the player must explicitly enable visibility to start receiving invitations.
Business Rules and Permissions
- A free-player profile is considered complete only when all four categories have at least one value.
- The free-player profile is separate from the base player card and can be incomplete even when the base player card is complete.
- Editing the free-player profile later should not replay first-time onboarding copy or force the user back through role selection.
- A newly completed free-player profile is not visible in the market by default. The player must explicitly enable visibility via a toggle to become discoverable.
- The neighbourhood vocabulary is stored in the database; no code change is required to add or remove neighbourhood options.
UX Considerations
- The free-player wizard should feel additive and market-oriented, not like redundant profile entry.
- Skip messaging should clearly explain that the player will not receive high-quality invitations until completion.
- The final success state should feel like a release point into active usage, not a dead-end confirmation screen.
Error States
- The free-player wizard shall save in-progress answers locally after each completed step and restore the draft if the app is closed or the network drops before final submission.
- If the final save fails, the user remains in the wizard with all selections preserved and can retry without re-entering prior steps.
- If the location vocabulary or typeahead service cannot load, the step shall explain that location suggestions are temporarily unavailable, preserve existing selections, and offer retry. If no location options can be retrieved, the rest of the draft shall remain saved while the profile stays incomplete.
- If the user deferred the wizard and reminder delivery fails, the incomplete state shall still remain recoverable from Home and Profile; completion reminders cannot rely on push alone.
Dependencies and Cross-Links
- Depends on 0002. Player Profile Onboarding and Completion Status for the intent handoff.
- Complements 0008. Market Discovery and Player Summoning, where this profile data becomes filterable and visible.
- Later editing entry point lives in 0009. Profile, Settings, and Support.