> ## Documentation Index
> Fetch the complete documentation index at: https://docs.witt-play.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Requesting to Join a Game: Approval and Waitlist

> Walk through requesting a spot, leaving an optional message for the host, what the pending state means, how approval notifications work, and how to leave.

Joining a game on Witt & Play is a two-step process: you send a request, and the host approves it. This model keeps each session safe and intentional — the host knows everyone on the roster before game day. Before you can request to join any game, your phone number must be verified through your profile settings.

## Phone verification requirement

Every member must verify their phone number before joining games. Phone verification happens in **Settings → Profile** using a one-time passcode (OTP) sent to your number. Until your phone is verified, the join button on game cards and game detail pages is replaced by a **Verify phone to join** prompt that links directly to your profile.

<Warning>
  If your account is restricted (for example, if age verification failed), you cannot join games. You'll see an error message directing you to your profile.
</Warning>

## Requesting to join

<Steps>
  <Step title="Find a game">
    Browse the feed or open a game's detail page. If the game has open spots, you'll see a **Request to join** button. If the game is full, the button reads **Join waitlist** instead.
  </Step>

  <Step title="Open the join dialog">
    Click **Request to join**. A dialog opens with the game title and a subtitle confirming that "The host will review your request and approve you shortly."
  </Step>

  <Step title="Leave an optional message">
    The dialog includes a **Private message to the host** text area. You can introduce yourself, mention your experience, or ask a question. This message is visible only to the host — it is delivered as an in-app direct message to them after you submit. The message is optional and limited to 500 characters.
  </Step>

  <Step title="Agree to the Code of Conduct">
    Check the **I agree to the Code of Conduct** checkbox. You can expand the full Code of Conduct text inline before confirming. The confirm button stays disabled until you check this box.
  </Step>

  <Step title="Submit your request">
    Click **Confirm join request**. Your participation status is set to **pending** and the host receives a push and SMS notification that someone wants to join.
  </Step>
</Steps>

## What happens after requesting

Once you submit, your status shows as **pending** on the game's roster card and on your game card in the Browse feed:

* A **Join pending** badge appears on the card.
* You can cancel your pending request at any time by clicking the **×** button next to the badge, or by clicking **Cancel request** on the game detail page.

When the host approves you:

* Your status changes to **approved**.
* You receive a **push notification** (via the browser Web Push API) with the title "You're in! \[game title]" and the message "The host approved your request. Tap to see the full details."
* You also receive an **SMS** to your verified phone number with the game title, sport, location, and a direct link to the game page.
* The game's exact address becomes visible to you (if the host had it hidden from non-members).

<Info>
  Push notifications require your browser to have granted notification permission. Witt & Play requests this permission automatically when you view a game detail page for the first time.
</Info>

## Leaving a game

You can leave a game you've joined at any time before the game starts:

* On the game detail page, click **Leave game** in the roster section.
* On a game card in the Browse feed, click the **×** button next to your **Joined** badge.

If you were **approved**, leaving triggers an automatic attempt to promote the next person on the waitlist to fill your spot.

If you were still **pending**, leaving simply cancels your request.

## Joining the waitlist

When a game is already full (`approved participants = max_players`), the join button reads **Join waitlist**. Clicking it opens the same join dialog, but the subtitle reads "The host will be notified if a spot opens up." When you confirm, your status is set to **waitlisted**.

<Note>
  While waitlisted, you can see the game but cannot access the full address or the game discussion thread until you are promoted to approved.
</Note>

### Waitlist invite promotion

When an approved player leaves a full game, the platform automatically promotes the next person on the waitlist. If you are first in the waitlist queue, you will see a banner at the top of the game's detail page:

* The banner shows a countdown timer displaying how much time you have left to claim the spot (displayed as minutes or hours and minutes remaining).
* Click **Claim my spot** to accept. Your status is immediately updated to **approved** and the invite is marked as claimed.
* Click **Pass** to decline. The spot is passed to the next person on the waitlist, and the invite is marked as expired.

If the timer runs out before you act, the invite expires and the spot passes automatically.
