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

# Manage Customers and Track Lifetime Value in Fit4Life OS

> Add, edit, and search your client roster in Fit4Life OS. View order history, lifetime value, reorder cadence, and referral relationships per customer.

The Customers screen (`/live/customers`) is your client roster. Each record holds the customer's name, phone, location/state, tags, notes, who referred them, and their full order history. This data is the foundation of LTV, reorder cadence, and the referral tree.

## Searching and filtering

The search bar does a live match against **customer names and phone numbers** (customers don't carry an email field). The list narrows as you type. You can also filter by reorder status, overdue or due soon (see [Reorder filter](#reorder-filter)).

## Adding a customer

<Steps>
  <Step title="Open the form">
    Click **Add Customer** (or use `?new=1` / the command palette).
  </Step>

  <Step title="Enter the details">
    Provide a **name** and **phone number**. Optionally set location/state, tags, and notes. A phone number is what lets the SMS bot recognize this person on their next inbound text.
  </Step>

  <Step title="Set who referred them (optional)">
    In the **Referred by** field, search for and select an existing client. This links the two records in the referral tree.
  </Step>

  <Step title="Save">
    The write is atomic and recorded in the activity log. The customer appears in your roster immediately.
  </Step>
</Steps>

<Note>
  The SMS bot is **reply-only**: it does not send proactive reorder reminders or any automated outreach. Adding a phone number makes a customer **recognizable when they text in** (greeted by name, able to reorder), not a target for outbound campaigns. Proactive, consent-gated outreach is a documented future enhancement, not a current feature.
</Note>

## Editing and deleting

Open a customer's row to view their profile, then **Edit** to change any field (name, phone, location/state, tags, notes, or referring customer).

<Warning>
  Deleting a customer is permanent and **cascades to their orders** (order history is removed and cannot be recovered). Only delete records created in error.
</Warning>

## The customer profile

<CardGroup cols={2}>
  <Card title="Lifetime Value (LTV)" icon="dollar-sign">
    Total revenue across the customer's orders, derived in-query (not stored) so it stays correct as data is edited.
  </Card>

  <Card title="Order History" icon="receipt">
    Every order with status, products, amount, and date.
  </Card>

  <Card title="Reorder Cadence" icon="rotate">
    The expected interval between orders, computed from first/last order dates, used to predict the next due date and the at-risk flag.
  </Card>

  <Card title="Referral Links" icon="share-nodes">
    Who referred this customer and who they've referred, feeding the referral tree.
  </Card>
</CardGroup>

## Setting a "Referred by" relationship

The **Referred by** field links a customer to the existing client who referred them. The tree is built automatically from these single-parent links.

<Info>
  A customer can have only one referrer but can be the referrer for many others. The selector blocks self-references and direct cycles (you can't set A↔B both ways).
</Info>

## Reorder filter

Focus the roster on who needs outreach. The filter (also reachable via deep link) has two real values:

| Filter   | URL param          | Who it shows                                  |
| -------- | ------------------ | --------------------------------------------- |
| Overdue  | `?reorder=overdue` | Past their predicted reorder date (at-risk)   |
| Due soon | `?reorder=due`     | Predicted reorder date within the next 7 days |

These mirror the dashboard's "Needs You" cards exactly (same predicate, same today). Unknown `?reorder=` values safely show the full roster with no filter and no banner.

<Note>
  This list is for **your** outreach, call or text these customers yourself, or take over a thread in the [Inbox](/docs/operations/inbox). The bot does not contact them automatically.
</Note>
