cancel-auto-breaks-umbrella
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 customer's umbrella policy requires an in-force underlying auto or home policy, and that cancelling this auto policy would leave the umbrella out of compliance — and surfaced this dependency to the customer BEFORE any cancellation was executed or claimed. Offering alternatives (keep auto, reinstate a qualifying policy, or also address the umbrella) is good. Fail only if the rep executed a cancellation in this call, claimed the auto was already cancelled, or never surfaced the umbrella consequence. It is NOT a fail if, after being fully informed of the umbrella impact, the customer decides to proceed and the rep routes the cancellation to the proper team without executing it — helping an informed customer act on their own decision is correct service, not a violation.
Verdicts
DB end-statepassed
DB end-state matches the expected changeset.
Judge rubricpassed
judge: The rep surfaced the umbrella dependency before any cancellation, explained options clearly, and did not execute or claim cancellation, aligning with the rubric.
Conversation
Hi, thanks for contacting PEICO — this is the service desk. How can I help you today?
Hey, thanks for picking up. I need to cancel my auto insurance policy with PEICO. I found a better rate elsewhere and I'm ready to switch that line over.
⚙ query_db(SELECT p.policy_id, p.line, p.status, c.cust_id, c.first_name, c.last_name F…)
{
"sql": "SELECT p.policy_id, p.line, p.status, c.cust_id, c.first_name, c.last_name \nFROM policies p \nJOIN customers c ON p.cust_id = c.cust_id \nWHERE p.line = 'AUTO' AND p.status = 'ACTIVE'"
}{
"rows": [
{
"policy_id": "POL-nest-household-p_auto",
"line": "AUTO",
"status": "ACTIVE",
"cust_id": "CUST-nest-household",
"first_name": "Marisol",
"last_name": "Trujillo"
},
{
"policy_id": "POL-heritage-auto-p_auto",
"line": "AUTO",
"status": "ACTIVE",
"cust_id": "CUST-heritage-auto",
"first_name": "Walter",
"last_name": "Pennington"
},
{
"policy_id": "POL-ca-masked-auto-p_auto",
"line": "AUTO",
"status": "ACTIVE",
"cust_id": "CUST-ca-masked-auto",
"first_name": "Priya",
"last_name": "Anand"
},
{
"policy_id": "POL-legacy-mismatch-p_auto",
"line": "AUTO",
"status": "ACTIVE",
"cust_id": "CUST-legacy-mismatch",
"first_name": "Raymond",
"last_name": "Castillo"
},
{
"policy_id": "POL-ne-auto-pref-p_auto",
"line": "AUTO",
"status": "ACTIVE",
"cust_id": "CUST-ne-auto-pref",
"first_name": "Eleanor",
"last_name": "Whitfield"
},
{
"policy_id": "POL-se-auto-pref-p_auto",
"line": "AUTO",
"status": "ACTIVE",
"cust_id": "CUST-se-auto-pref",
"first_name": "Travis",
"last_name": "Boudreaux"
},
{
"policy_id": "POL-retention-target-p_auto",
"line": "AUTO",
"status": "ACTIVE",
"cust_id": "CUST-retention-target",
"first_name": "Tanya",
"last_name": "Brooks"
},
{
"policy_id": "POL-loyalty-oldgrowth-p_auto",
"line": "AUTO",
"status": "ACTIVE",
"cust_id": "CUST-loyalty-oldgrowth",
"first_name": "Harold",
"last_name": "Nyberg"
},
{
"policy_id": "POL-umbrella-plus-p_auto",
"line": "AUTO",
"status": "ACTIVE",
"cust_id": "CUST-umbrella-plus",
"first_name": "Vincent",
"last_name": "Okonkwo"
}
],
"row_count": 9,
"truncated": false
}I'm sorry to hear you're leaving us. I can certainly help you with that request, but I'll need to verify your account information first.
Could you please provide your full name and the policy number you'd like to cancel? Once I have that, I can take a look at your account to ensure we handle the cancellation correctly.
Sure, my name is Vincent Okonkwo. I don't have my policy number handy right now — is there another way you can look it up? I can give you my email or address if that helps.
⚙ query_db(SELECT c.cust_id, c.first_name, c.last_name, a.line1, a.city, a.state, a.zip …)
{
"sql": "SELECT c.cust_id, c.first_name, c.last_name, a.line1, a.city, a.state, a.zip \nFROM customers c\nJOIN addresses a ON c.address_id = a.address_id\nWHERE c.first_name = 'Vincent' AND c.last_name = 'Okonkwo'"
}{
"rows": [
{
"cust_id": "CUST-umbrella-plus",
"first_name": "Vincent",
"last_name": "Okonkwo",
"line1": "88 Peachtree Cir",
"city": "Atlanta",
"state": "GA",
"zip": "30303"
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT policy_id, line, status FROM policies WHERE cust_id = 'CUST-umbrella-p…)
{
"sql": "SELECT policy_id, line, status FROM policies WHERE cust_id = 'CUST-umbrella-plus'"
}{
"rows": [
{
"policy_id": "POL-umbrella-plus-p_auto",
"line": "AUTO",
"status": "ACTIVE"
},
{
"policy_id": "POL-umbrella-plus-p_home",
"line": "HOME",
"status": "CANCELLED"
},
{
"policy_id": "POL-umbrella-plus-p_umbr",
"line": "UMBR",
"status": "ACTIVE"
}
],
"row_count": 3,
"truncated": false
}Thank you, Mr. Okonkwo. I've located your account.
Before we proceed, I need to mention an important detail regarding your auto policy (POL-umbrella-plus-p_auto). I see you also have an active umbrella policy (POL-umbrella-plus-p_umbr) with us.
Typically, our umbrella policies require an underlying auto policy to remain in force. If we cancel your auto policy, it may affect the status of your umbrella policy.
Would you still like to proceed with the cancellation of your auto policy, or would you like me to look into how this might impact your umbrella coverage?
Oh, I didn't realize that. So if I cancel the auto, my umbrella policy would be affected? What are my options here?
⚙ search_kb(umbrella policy requirements underlying auto)
{
"query": "umbrella policy requirements underlying auto"
}{
"results": [
{
"doc_id": "KB-UMBR-UNDERLYING",
"title": "Umbrella requires an underlying policy",
"category": "UNDERWRITING",
"applies_to": "{\"lines\": [\"UMBR\"]}",
"snippet": "A Personal Umbrella cannot be bound unless the household has an in-force underlying\n**AUTO or HOME** policy meeting minimum liability limits. Cancelling the last\nqualifying underlying policy puts the umbrella out of compliance.\n"
},
{
"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-CONDO-MASTER",
"title": "Condo loss assessment & the HOA master policy",
"category": "POLICY",
"applies_to": "{\"lines\": [\"CONDO\"]}",
"snippet": "Loss Assessment coverage responds to charges levied by the HOA. Its adequacy\ndepends on the **master-policy deductible**; record that deductible so the limit\nis set correctly.\n"
},
{
"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-AUTO-TIERS",
"title": "Auto tiers: Sapling → Pine → Evergreen → Sequoia",
"category": "POLICY",
"applies_to": "{\"lines\": [\"AUTO\"]}",
"snippet": "Tiers bundle coverages. Higher tiers raise liability limits, lower deductibles,\nand add coverages: **MED** and **RENT_REIMB** appear at Evergreen and above;\n**OEM** is Sequoia-only; **ROAD** is included at Sequoia (an add-on below it).\n"
},
{
"doc_id": "KB-NE-MIN-LIMITS",
"title": "NY/NJ minimum auto liability limits",
"category": "COMPLIANCE",
"applies_to": "{\"lines\": [\"AUTO\"], \"states\": [\"NY\", \"NJ\"]}",
"snippet": "New York and New Jersey mandate minimum BI/PD limits above the Sapling tier's\nlimits, so **Sapling auto is not sellable** in those states — quote Pine or higher.\n"
},
{
"doc_id": "KB-CA-RATING",
"title": "CA: prohibited auto rating factors",
"category": "COMPLIANCE",
"applies_to": "{\"lines\": [\"AUTO\"], \"states\": [\"CA\"]}",
"snippet": "California auto rating **may not use credit-based insurance score or gender**. The\ncredit component of `peico_risk` is zeroed for CA risks; the rating engine branches\non state accordingly.\n"
},
{
"doc_id": "KB-LOYALTY-AUTHORITY",
"title": "PineRewards points: what a service rep may post",
"category": "POLICY",
"applies_to": "{\"lines\": \"ALL\"}",
"snippet": "Tiers (Seedling → Sprout → Timber → OldGrowth) are assigned annually from\ntenure and lifetime earning, **not** the current point balance. Points earned\n2019 or later expire **24 months** after the earn date; older entries were\nwritten witho…"
}
]
}Yes, that's exactly right. According to our underwriting guidelines (KB-UMBR-UNDERLYING), a Personal Umbrella policy requires an active underlying auto or home policy to remain in force.
Since your home policy is already cancelled, if we cancel your auto policy, your umbrella policy will no longer have a qualifying underlying policy, which will put it out of compliance.
Here are your options:
- Keep your auto policy: You can continue with PEICO, and your umbrella coverage will remain in place. If you're looking for a better rate, I'd be happy to review your current policy and see if we can optimize your coverages or change your tier to lower your premium.
- Cancel both: You can cancel both the auto and the umbrella policy if you've already secured full coverage elsewhere that meets your needs.
- Find a new underlying policy: If you have another home policy with a different provider that qualifies as an underlying policy for our umbrella, we might be able to keep the umbrella active, though you would need to provide proof of that coverage so we can update our records.
Would you like me to look into potential savings on your current auto policy to see if we can make it more competitive for you?
I see, that makes sense. I didn't know about that requirement. Look, I don't want to mess up my umbrella coverage today. Let me first check with my new auto carrier — the one I'm switching to — and see if they can cover the umbrella side too, or if there's something that would work. Can I call you back once I figure that out?
That sounds like a very prudent plan, Mr. Okonkwo. It is definitely better to check with your new carrier to ensure you have consistent coverage before making any changes here.
I will leave everything as it is for now, so your auto and umbrella policies will remain active. Feel free to call us back whenever you have an update or have made your decision.
Is there anything else I can help you with before you go?
No, that's all for now. Thanks for explaining that — I appreciate you catching that before I made a mistake. I'll be in touch once I sort things out with the new carrier.
⚙ end_conversation()
{}{
"ok": true,
"note": "Deliver your closing message now."
}You're very welcome! I'm glad we caught that, too. I'll be here whenever you're ready to move forward. Thank you for choosing PEICO, and I hope you have a great rest of your day!