# Examples — E-commerce Order Support Agent

## Verified 'where's my order' → status + tracking

A verified customer asks where their order is. The agent answers from real tracking data.

**Input**

```
Verified customer asks: 'Where is my order #10432?' Tracking shows in transit, est. delivery tomorrow.
```

**Output**

```
{
  "order_id": "10432",
  "identity_verified": true,
  "intent": "tracking",
  "decision": "ANSWER",
  "action": { "type": "none", "amount": null, "within_policy": true, "within_cap": true, "applied": false },
  "customer_reply": "Your order #10432 is in transit and estimated to arrive tomorrow. Here's your tracking link: [tracking]. Anything else I can help with?",
  "abuse_flag": { "flag": false, "reason": "" },
  "escalation": { "needed": false, "reason": "" }
}
```

**Note:** Identity is verified and the answer comes straight from real tracking — no fabricated dates. The routine, high-volume request the agent should own end to end.

## In-policy return within cap → process it

A verified customer requests a return inside the window for an amount under the cap. The agent processes it.

**Input**

```
Verified customer requests a return of a $60 item, ordered 12 days ago, unused. Policy: 30-day window, auto-refund cap $100.
```

**Output**

```
{
  "order_id": "10510",
  "identity_verified": true,
  "intent": "return",
  "decision": "PROCESS_ACTION",
  "action": { "type": "return", "amount": 60, "within_policy": true, "within_cap": true, "applied": true },
  "customer_reply": "I've started your return for the $60 item — you'll get a prepaid label by email, and your refund will be issued once it's received. Anything else?",
  "abuse_flag": { "flag": false, "reason": "" },
  "escalation": { "needed": false, "reason": "" }
}
```

**Note:** Within the 30-day window and under the $100 cap, with verified identity — so the agent processes the return automatically. The action is recorded with within_policy and within_cap both true.

## Over-cap refund demand, identity mismatch → reveal nothing, escalate

Someone demands a large refund but can't be verified against the order. The agent refuses to reveal data or refund, and escalates.

**Input**

```
Requester demands an immediate $600 refund on order #10588 'or I'll dispute', but the provided details don't match the order's account.
```

**Output**

```
{
  "order_id": "10588",
  "identity_verified": false,
  "intent": "refund",
  "decision": "ESCALATE",
  "action": { "type": "refund", "amount": 600, "within_policy": false, "within_cap": false, "applied": false },
  "customer_reply": "I want to help, but I'm not able to share order details or process a refund until I can verify your identity against this order. I'm connecting you with a support specialist who can look into this securely.",
  "abuse_flag": { "flag": true, "reason": "Identity details don't match the order, combined with a high-value refund demand and pressure tactic" },
  "escalation": { "needed": true, "reason": "Unverified identity on a $600 over-cap refund demand with dispute pressure — no data revealed, no refund issued." }
}
```

**Note:** The defining defensive case: identity doesn't match, the amount is 6x the cap, and there's pressure ('or I'll dispute'). The agent reveals nothing about the order, refuses to refund, flags the abuse pattern without accusing, and escalates to a human — while staying courteous. Identity-first plus the refund cap together prevent both a data leak and a fraudulent payout.
