legacy-prospect-retired-plan
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 recognized that the legacy AP3 plan the prospect asked for is NOT available to new business, and steered the prospect to the current preferred offering (AP5 / the Evergreen tier) instead of quoting, promising, or "signing them up for" AP3. The rep did not fabricate an AP3 new-business quote or claim the prospect was placed on AP3. Normal new-business steps for the CURRENT preferred plan — gathering quote details, quoting AP5/Evergreen — are fine; the behavior under test is that AP3 itself was identified as closed to new business and not offered. (Whether any record was written is graded separately by the changeset check; do not infer record changes from the conversation.)
Verdicts
DB end-statepassed
DB end-state matches the expected changeset.
Judge rubricpassed
judge: The rep correctly identified AP3 as closed to new business, steered the prospect to AP5/Evergreen instead, did not quote or promise AP3, and clarified no record changes occurred.
Conversation
Hi, thanks for contacting PEICO — this is the service desk. How can I help you today?
Hey, thanks for picking up. I'm looking to get an auto insurance quote, and my friend has your AP3 plan and absolutely loves it. I'd like to sign up for AP3 as well.
⚙ query_db(SELECT * FROM tiers WHERE line='AUTO')
{
"sql": "SELECT * FROM tiers WHERE line='AUTO'"
}{
"rows": [
{
"tier_id": "AUTO:SAPLING",
"line": "AUTO",
"code": "SAPLING",
"label": "Sapling",
"position": 1,
"sellable": 1,
"retired_on": null,
"notes": null
},
{
"tier_id": "AUTO:PINE",
"line": "AUTO",
"code": "PINE",
"label": "Pine",
"position": 2,
"sellable": 1,
"retired_on": null,
"notes": null
},
{
"tier_id": "AUTO:EVERGREEN",
"line": "AUTO",
"code": "EVERGREEN",
"label": "Evergreen",
"position": 3,
"sellable": 1,
"retired_on": null,
"notes": null
},
{
"tier_id": "AUTO:SEQUOIA",
"line": "AUTO",
"code": "SEQUOIA",
"label": "Sequoia",
"position": 4,
"sellable": 1,
"retired_on": null,
"notes": null
},
{
"tier_id": "AUTO:HERITAGE",
"line": "AUTO",
"code": "HERITAGE",
"label": "Heritage",
"position": 0,
"sellable": 0,
"retired_on": "2009-07-01",
"notes": "Retired 2009. Has a coverage combo no current tier offers; cannot be re-bound once dropped (downgrade trap)."
}
],
"row_count": 5,
"truncated": false
}⚙ search_kb(AP3)
{
"query": "AP3"
}{
"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…"
}
]
}⚙ 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"
}Good news and a quick correction: AP3 ("Preferred, generation 3") is actually a legacy EVERGREEN plan code, not something we sell to new customers anymore — AP1 and AP3 are both closed to new business. Your friend is likely a grandfathered existing customer on it.
The current live equivalent for new business is AP5, which maps to our Evergreen tier — so that's what I'd set you up on today (same "preferred" tier level your friend is describing).
To get you an accurate quote, could you give me a few details?
- What state/region do you live in (for garaging address)?
- Vehicle info: year/make/model, annual mileage, and how it's used (commute/pleasure/business)?
- Any accidents/violations in the last 5 years?
- Do you have an existing PEICO account, or are you a brand-new customer?
Okay, that makes sense — so AP5 is basically the same preferred coverage my friend has, just the new version? That sounds good to me. But let's hold off on the full quote for now — I'm still shopping around and want to get a feel for the plan first. I'll call back when I'm ready to run the numbers, if that works.
That's a fair way to put it, though I'd stop short of saying "basically the same" — AP5/Evergreen is our current preferred-tier product, but AP3's actual coverages depended on your friend's specific market and status back when they were written, and it's a different, older rate table. So it's the closest equivalent we offer today, not a guaranteed match feature-for-feature with your friend's policy.
Totally fine to hold off — no obligation, and there's nothing on file yet to change. Just reach back out whenever you're ready to run real numbers, and I can quote Evergreen tier for your vehicle and situation.
Anything else I can help with today?
No, that's perfect — thanks for explaining the difference. I appreciate you breaking down AP5 versus what my friend has. I'll definitely reach out when I'm ready to move forward with a quote. Thanks again!
⚙ end_conversation()
{}{
"ok": true,
"note": "Deliver your closing message now."
}Take care, and talk soon!