# Shopper returns eligibility — recommendation only

Companion to **Can a Shopper Start a Return, or Only Get a Recommendation**.

This is the step **before** a refund request exists. The associate matrix after a request exists is [`refund-investigation-decision-matrix.md`](refund-investigation-decision-matrix.md). Abuse scoring is [`return-fraud-risk-scoring.md`](return-fraud-risk-scoring.md). Do not copy those tables here.

Demo window and dollar figures below are **fixtures**. Replace them with your policy version. They are not a FactualMinds returns KPI.

## Reads (week one)

| Tool | Returns | Does not return |
| ---- | ------- | --------------- |
| `getOrder` | Status, lines, delivered flag | A license to refund |
| `getShipment` | Last scan, carrier state | An invented delivery window |
| `getReturnPolicy` | **Versioned** window, excluded categories, exchange-before-refund flag | A paraphrase the model remembers |
| `getProduct` | Final-sale, hazmat, made-to-order | A reason to accuse the shopper |
| `listReturnsForOrder` | Open RMA already on the line | Permission to open a second one |

No `createReturn`, `purchaseLabel`, `createRefund`, or `issueStoreCredit` on the shopper token.

## What the shopper may hear

| Class | When (replace with your policy) | Say | Do not |
| ----- | ------------------------------- | --- | ------ |
| **Exchange first** | In window, resellable, size or color sibling in stock | Offer the sibling; hand the confirm to the existing returns portal | Buy a label or refund |
| **Refund path, person next** | In window, no sibling, policy allows money back | State the window and that a person confirms | Call `createRefund` |
| **Not eligible** | Outside window, final sale, consumed digital | Cite the policy version and the date | Invent a goodwill exception |
| **Hand off** | Delivered-not-received, missing line id, stacked open RMA, chargeback or legal words | Stop. Attach the evidence. Open the queue | Use the word fraud |

## Label and money

Label purchase and carrier claims stay in the systems that already buy labels. This agent does not rate-shop. Refund execution stays on the [refund matrix](refund-investigation-decision-matrix.md), associate token only.

## Related

- Where-is-my-order (not this): [`wismo-state-machine.md`](wismo-state-machine.md)
- HITL: [`hitl-approval-architecture.md`](hitl-approval-architecture.md)
