legacy-ap3-market-meaning
Grading criteriawhat this conversation was scored against
DB end-state
The database must be left untouched: the correct outcome for this case is no writes at all.
Judge rubric
The rep determined the customer's actual CANOPY coverage tier by resolving his EVERGREEN plan code (AP3) FOR HIS MARKET (the Southeast / Georgia), and correctly conveyed that it is the Standard tier (Pine) — NOT the preferred (Evergreen) tier. The rep did NOT simply agree that AP3 means he has preferred coverage. Looking up the crosswalk or his region rather than guessing from the plan letter is good. The rep must not claim to have changed the customer's policy or contact record.
Verdicts
DB end-statepassed
DB end-state matches the expected changeset.
Judge rubricpassed
judge: The rep correctly resolved AP3 for the customer's (Southeast) region via the crosswalk, clearly stated it maps to Pine/Standard rather than preferred Evergreen, did not agree it was preferred, and made no claim of changing the policy.
Conversation
Hi, thanks for contacting PEICO — this is the service desk. How can I help you today?
Hey, thanks for picking up. I just wanted to confirm what coverage level I'm on. My friend up north has AP3 and says that's PEICO's preferred plan, and I think I'm on AP3 too, so I'm just trying to make sure I've got the preferred coverage as well.
I can check that for you. To look up your specific policy and confirm your exact tier/coverage, I’ll need to verify your account first.
Please send any two of these:
- Full name
- Date of birth
- Email address on file
- Phone number on file
- Legacy account number
Once I have that, I’ll pull up the policy and translate any plan codes into plain language for you.
Sure, no problem. I'm Travis Boudreaux, born September 14, 1983. And my legacy account number is EVG2204S3.
⚙ query_db(SELECT cust_id, first_name, last_name, dob, legacy_acct, status FROM customer…)
{
"sql": "SELECT cust_id, first_name, last_name, dob, legacy_acct, status FROM customers WHERE first_name = 'Travis' AND last_name = 'Boudreaux' AND dob = '1983-09-14' AND legacy_acct = 'EVG2204S3'"
}{
"rows": [
{
"cust_id": "CUST-se-auto-pref",
"first_name": "Travis",
"last_name": "Boudreaux",
"dob": "1983-09-14",
"legacy_acct": "EVG2204S3",
"status": "CUSTOMER"
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT p.policy_id, p.line, p.tier_id, t.code AS tier_code, t.label AS tier_l…)
{
"sql": "SELECT p.policy_id, p.line, p.tier_id, t.code AS tier_code, t.label AS tier_label, p.status, p.effective_date, p.expiration_date, p.final_premium_cents, p.rating_as_of FROM policies p LEFT JOIN tiers t ON p.tier_id = t.tier_id WHERE p.cust_id = 'CUST-se-auto-pref' ORDER BY CASE WHEN p.status = 'ACTIVE' THEN 0 ELSE 1 END, p.created_at DESC"
}{
"rows": [
{
"policy_id": "POL-se-auto-pref-p_auto",
"line": "AUTO",
"tier_id": "AUTO:PINE",
"tier_code": "PINE",
"tier_label": "Pine",
"status": "ACTIVE",
"effective_date": "2025-02-15",
"expiration_date": "2026-02-15",
"final_premium_cents": 72643,
"rating_as_of": "2025-02-15"
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT lp.legacy_policy_id, lp.plan_code, lp.rate_sym, lp.bill_sym, lp.modern…)
{
"sql": "SELECT lp.legacy_policy_id, lp.plan_code, lp.rate_sym, lp.bill_sym, lp.modern_policy_id, lp.effective_date, lp.notes FROM legacy_policies lp WHERE lp.cust_id = 'CUST-se-auto-pref' ORDER BY lp.effective_date DESC"
}{
"rows": [
{
"legacy_policy_id": "LGP-se-auto-pref-p_auto",
"plan_code": "AP3",
"rate_sym": "31",
"bill_sym": "I0",
"modern_policy_id": "POL-se-auto-pref-p_auto",
"effective_date": "2025-02-15",
"notes": null
}
],
"row_count": 1,
"truncated": false
}⚙ search_kb(AP3 preferred plan legacy plan code AP3 glossary, 5)
{
"query": "AP3 preferred plan legacy plan code AP3 glossary",
"limit": 5
}{
"results": [
{
"doc_id": "KB-LEGACY-XWALK",
"title": "Reading an EVERGREEN plan code (legacy → CANOPY)",
"category": "HOWTO",
"applies_to": "{\"lines\": [\"AUTO\"]}",
"snippet": "PEICO is migrating from the legacy **EVERGREEN** mainframe to **CANOPY**. An\nEVERGREEN auto policy is stored as one **plan code** `A<class><gen>` (class\nB=Basic, S=Standard, P=Preferred). A plan code does NOT map to a CANOPY tier on\nits own…"
},
{
"doc_id": "KB-GLOSSARY-AUTO",
"title": "Auto coverage codes, decoded",
"category": "GLOSSARY",
"applies_to": "{\"lines\": [\"AUTO\", \"MOTO\", \"RV\", \"BOAT\", \"CLSC\"]}",
"snippet": "EVERGREEN stores auto coverages under terse codes. Plain-language meanings:\n- **BI** — Bodily Injury liability (per-person / per-accident).\n- **PD** — Property Damage liability.\n- **UM/UIM** (`UMUIM`) — Uninsured / Underinsured Motorist.\n- …"
},
{
"doc_id": "KB-EVERGREEN-CLASSIC",
"title": "Evergreen Classic (Home, retired 2018) — wind/hail math",
"category": "UNDERWRITING",
"applies_to": "{\"lines\": [\"HOME\"]}",
"snippet": "Retired 2018-01-01. Uses a legacy flat-capped wind/hail deductible (1.5% of\ndwelling, capped) rather than the current percentage math. Not re-bindable.\n"
},
{
"doc_id": "KB-PROMO-GREENSTART",
"title": "GREENSTART — retired rider ($0)",
"category": "PROMO",
"applies_to": "{\"lines\": [\"AUTO\", \"HOME\"]}",
"snippet": "GREENSTART still validates as a code, but its underlying **rate rider was retired**,\nso it produces a **$0 benefit**. Do not promise customers a discount from it.\n"
}
]
}⚙ get_doc(KB-LEGACY-XWALK)
{
"doc_id": "KB-LEGACY-XWALK"
}{
"doc_id": "KB-LEGACY-XWALK",
"title": "Reading an EVERGREEN plan code (legacy → CANOPY)",
"category": "HOWTO",
"applies_to": "{\"lines\": [\"AUTO\"]}",
"body_md": "PEICO is migrating from the legacy **EVERGREEN** mainframe to **CANOPY**. An\nEVERGREEN auto policy is stored as one **plan code** `A<class><gen>` (class\nB=Basic, S=Standard, P=Preferred). A plan code does NOT map to a CANOPY tier on\nits own — the mapping depends on the customer's **market (region)** and\n**status**, so you must look it up in the crosswalk, never guess from the letter.\n- **Standard** plans (AS2, AS4) → Pine, everywhere.\n- **Preferred AP3** means different things by market: in the Northeast it is the\n Evergreen tier, but in the Southeast AP3 was a relabeled Standard → Pine.\n- **AP3 and AP1 are closed to new business.** A prospect cannot be put on them;\n the live preferred plan for new business is **AP5** (→ Evergreen). **AP1** is\n grandfathered for existing customers only and maps to the **retired Heritage**\n tier, which cannot be re-bound once dropped.\nWhen an EVERGREEN record and the CANOPY policy disagree, treat it as an\nunverified migration discrepancy: surface it, do not silently \"correct\" either side.\n"
}I checked your policy.
You do have legacy plan code AP3, but on your PEICO policy that maps to:
- Auto policy tier: Pine
- Status: Active
- Effective: February 15, 2025
Important detail: AP3 does not always mean PEICO’s preferred tier. Per our internal crosswalk, in the Southeast AP3 was a relabeled Standard plan, which maps to Pine, not Evergreen.
So for your policy, the answer is:
- Legacy code: AP3
- Current PEICO tier: Pine
- Preferred-tier equivalent? No — not on this policy
Your friend up north may also have AP3, but in the Northeast that code can map differently, which is why it sounds like you were told two different things.
If you want, I can also pull the actual coverages on your auto policy — liability, comp/collision, deductibles, UM/UIM, roadside, rental, etc. — so you can see whether your protection itself is where you want it, regardless of the legacy label.
Huh, okay — I thought AP3 was the good one, but I appreciate you looking that up. So I'm on Pine, which is the Standard tier, not Preferred. That makes sense now why my friend said it was preferred but I wasn't quite getting the same thing. Thanks for explaining that. I think I'm good — I was really just trying to confirm what I had. I appreciate the help.
⚙ end_conversation()
{}{
"ok": true,
"note": "Deliver your closing message now."
}You’re very welcome — glad I could clear that up. Thanks for being with PEICO, and if you ever want me to review the actual coverages on that policy, I’m happy to help. Have a great day.