# WAITLIST FLOW SUPPORT DOCUMENTATION

## Getting Started

### What is Waitlist Flow?

Waitlist Flow helps you manage product waitlists and automatically notify customers when spots become available. Perfect for limited-capacity products, events, workshops, or sold-out items.

### Key Features

* **Create Waitlists**: Set up waitlists for any product in your store
* **Automatic Notifications**: Automatically notify customers when spots open up (via order cancellations or refunds)
* **Manual Control**: Manually free up slots and notify the next person in line
* **Email Notifications**: Send professional emails with draft order links for quick checkout
* **Theme Integration**: Add a "Join Waitlist" button to your product pages using our theme app extension

***

## Setting Up Your First Waitlist

### Create and Configure a Waitlist

{% stepper %}
{% step %}

### Create a Waitlist

* Navigate to **Waitlists** in the app navigation
* Click **Create Waitlist**
* Fill in the details:
  * **Title**: Give your waitlist a descriptive name (e.g., "Yoga Class – Jan 15 6pm")
  * **Product**: Select the product this waitlist is for
  * **Variant** (optional): Choose a specific variant if needed
  * **Trigger Type**:
    * **Cancellation**: Automatically notify when orders are cancelled/refunded
    * **Manual**: You'll manually trigger notifications
  * **Max Capacity** (optional): Set a limit on how many people can be on the waitlist
    {% endstep %}

{% step %}

### Share Your Waitlist

* Open your waitlist from the Waitlists page
* Click **Copy Join Link** to get a shareable URL
* Share this link with customers via email, social media, or your website
  {% endstep %}

{% step %}

### Add the Theme Extension (Optional)

* Go to your Shopify admin → **Online Store** → **Themes**
* Click **Customize** on your active theme
* Navigate to a product page
* Click **Add block** and search for "Waitlist Button"
* Configure the block:
  * Select your waitlist
  * Set the button text
  * Configure the app URL (your app's URL from the Shopify Partners dashboard)
* Save your changes
  {% endstep %}
  {% endstepper %}

***

## Managing Waitlists

### Viewing Waitlist Entries

* Open any waitlist to see all entries
* Entries are sorted by position (first-come, first-served)
* Use the **Filters** button to filter by status:
  * **All**: Show all entries
  * **Waiting**: Customers waiting for a spot
  * **Notified**: Customers who have been notified (have 15 minutes to claim)
  * **Claimed**: Customers who completed checkout
  * **Unclaimed**: Customers who didn't claim within the time limit

### Status Badges

* 🟣 **Waiting** (Purple): Customer is waiting for a spot
* 🔵 **Notified** (Blue): Customer has been notified and can claim
* 🟢 **Claimed** (Green): Customer completed checkout
* 🔴 **Unclaimed** (Red): Customer didn't claim within the time limit

### Manual Actions

#### Free Up 1 Slot

{% stepper %}
{% step %}

### Free Up 1 Slot

* Open your waitlist
* Click **Free Up 1 Slot**
* The next waiting customer will receive an email with a checkout link
* They have 15 minutes (configurable in Settings) to complete checkout
  {% endstep %}
  {% endstepper %}

#### Delete Waitlist Entries

{% stepper %}
{% step %}

### Delete Waitlist Entry

* Open your waitlist
* Find the entry you want to remove
* Click **Delete** (if available in the UI)
* Positions will automatically update for remaining entries
  {% endstep %}
  {% endstepper %}

#### Delete a Waitlist

{% stepper %}
{% step %}

### Delete a Waitlist

* Go to the Waitlists overview page
* Click **Delete** next to the waitlist
* Confirm deletion
* All entries will be deleted with the waitlist
  {% endstep %}
  {% endstepper %}

***

## Settings

### Expiry Time

Set how long customers have to claim their spot after being notified (default: 15 minutes).

### Auto-Process on Expiry

When enabled, if a customer doesn't claim within the expiry time, the next person in line is automatically notified.

### Send Join Confirmation

When enabled, customers receive a confirmation email when they join a waitlist.

### Default Max Capacity

Set a default maximum capacity for new waitlists.

***

## How Automatic Notifications Work

### Cancellation Trigger

When a waitlist is set to "Cancellation" trigger type:

1. A customer cancels an order OR receives a refund
2. Shopify sends a webhook to Waitlist Flow
3. The app checks if the cancelled product matches your waitlist
4. If matched, the next person in line is automatically notified
5. They receive an email with a draft order link
6. They have 15 minutes to complete checkout

### Manual Trigger

For "Manual" waitlists:

* Use the **Free Up 1 Slot** button to notify the next customer
* Perfect for events, workshops, or when you manually free up spots

### "Cannot Create Waitlist" Error

Check:

1. Verify you haven't exceeded your plan's waitlist limit
   * Free plan: 1 waitlist
   * Premium plan: Unlimited waitlists
2. Check that you've selected a product
3. Ensure all required fields are filled

### "Email Limit Reached" Error

Check:

1. Verify your email sending limit:
   * Free plan: 50 emails/month
   * Premium plan: Unlimited emails
2. Upgrade to Premium for unlimited emails
3. Check Settings → Billing to see your current usage

***

## Subscription Plans

### Free Plan

* ✅ 1 waitlist
* ✅ 50 notification emails/month
* ✅ Basic features
* ✅ Theme extension

### Premium Plan ($7.99/month)

* ✅ Unlimited waitlists
* ✅ Unlimited notification emails
* ✅ All features
* ✅ Priority support
* ✅ Export CSV (coming soon)
* ✅ Custom email templates (coming soon)

### Upgrading/Downgrading

{% stepper %}
{% step %}

### Change Subscription

* Go to **Settings** → **Billing**
* Click **Upgrade to Premium** or **Downgrade to Free**
* Follow the prompts to complete the subscription change
  {% endstep %}
  {% endstepper %}

***

## Best Practices

1. **Clear Titles**: Use descriptive waitlist titles that help you identify them later
2. **Set Capacity**: Set max capacity to prevent overwhelming your inventory
3. **Monitor Expiry**: Keep an eye on unclaimed entries and manually process if needed
4. **Test First**: Test your waitlist flow with a test order before going live
5. **Email Templates**: Customize your Resend email templates to match your brand

***

## Need More Help?

* Check the app logs in your terminal for detailed error messages
* Contact support through the Shopify App Store if issues persist

***

## FAQ

<details>

<summary>Can I have multiple waitlists for the same product?</summary>

Yes! Each waitlist is independent, so you can create multiple waitlists for different variants, dates, or purposes.

</details>

<details>

<summary>What happens if a customer doesn't claim within 15 minutes?</summary>

Their status changes to "Unclaimed" and, if auto-process is enabled, the next person is notified automatically.

</details>

<details>

<summary>Can I export waitlist data?</summary>

CSV export is coming soon for Premium users. For now, you can view all data in the app dashboard.

</details>

<details>

<summary>Do customers need a Shopify account to join?</summary>

No! Customers only need to provide their name and email address.

</details>

<details>

<summary>Can I customize email templates?</summary>

Not at present but it's in the roadmap to offer this in Premium

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://reiwa-dev.gitbook.io/waitlist-flow-support-documentation/waitlist-flow-support-documentation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
