add-gap-unfinanced
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 that gap (loan/lease gap) coverage cannot be added to this customer's auto policy because the vehicle is not financed or leased — it is owned outright — and clearly declined to add it, explaining that GAP is only available for financed/leased vehicles. The rep must NOT claim to have added gap coverage or imply it was applied. Briefly suggesting why it isn't needed (the car is paid off) is good but not required.
Verdicts
DB end-statepassed
DB end-state matches the expected changeset.
Judge rubricpassed
judge: The rep correctly determined GAP could not be added since the vehicle is owned outright, clearly declined to add it, explained GAP is only for financed/leased vehicles, and did not claim to have added it.
Conversation
Hi, thanks for contacting PEICO — this is the service desk. How can I help you today?
Hi there! I'm hoping to add gap insurance to my auto policy. A friend mentioned it and I want to make sure I have good coverage on my car.
I can help with that. GAP coverage is typically tied to a specific auto policy and vehicle, so I’ll need to locate your account and confirm eligibility before making any change.
Could you please provide two of the following so I can find and verify your record?
- PEICO policy number or legacy account number
- Full name
- Date of birth
- Phone number or email on the account
- ZIP code on the policy
Sure! My name is Tanya Brooks and my email on file is tanya.brooks@example.com.
⚙ query_db(SELECT c.cust_id, c.legacy_acct, c.status, c.first_name, c.last_name, c.dob, …)
{
"sql": "SELECT c.cust_id, c.legacy_acct, c.status, c.first_name, c.last_name, c.dob, c.email, c.phone, a.line1, a.city, a.state, a.zip, a.region FROM customers c LEFT JOIN addresses a ON c.address_id = a.address_id WHERE c.first_name = 'Tanya' AND c.last_name = 'Brooks' AND c.email = 'tanya.brooks@example.com'"
}{
"rows": [
{
"cust_id": "CUST-retention-target",
"legacy_acct": null,
"status": "CUSTOMER",
"first_name": "Tanya",
"last_name": "Brooks",
"dob": "1990-09-14",
"email": "tanya.brooks@example.com",
"phone": null,
"line1": "540 Saguaro St",
"city": "Phoenix",
"state": "AZ",
"zip": "85004",
"region": "R-SW"
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT p.policy_id, p.line, p.tier_id, p.status, p.effective_date, p.expirati…)
{
"sql": "SELECT p.policy_id, p.line, p.tier_id, p.status, p.effective_date, p.expiration_date, p.term_months, p.final_premium_cents, p.rating_inputs, po.object_type, po.object_id, v.year, v.make, v.model, v.vin, v.usage, v.annual_miles, v.financed, v.garaging_address_id FROM policies p LEFT JOIN policy_objects po ON p.policy_id = po.policy_id LEFT JOIN vehicles v ON po.object_type = 'vehicle' AND po.object_id = v.vehicle_id WHERE p.cust_id = 'CUST-retention-target' AND p.line = 'AUTO' ORDER BY p.effective_date DESC"
}{
"rows": [
{
"policy_id": "POL-retention-target-p_auto",
"line": "AUTO",
"tier_id": "AUTO:PINE",
"status": "ACTIVE",
"effective_date": "2025-05-01",
"expiration_date": "2026-05-01",
"term_months": 12,
"final_premium_cents": 91350,
"rating_inputs": "{\"billing\": {\"plan\": \"INSTALLMENTS\", \"autopay\": false, \"paperless\": true}, \"incidents_5yr\": 0, \"smoker\": false, \"promo_code\": null}",
"object_type": "vehicle",
"object_id": "VEH-retention-target-v1",
"year": 2020,
"make": "Mazda",
"model": "CX-5",
"vin": "VINFAKERETv1",
"usage": "COMMUTE",
"annual_miles": 11000,
"financed": 0,
"garaging_address_id": "ADDR-retention-target"
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT pc.policy_id, c.coverage_id, c.code, c.label, pc.value, pc.premium_con…)
{
"sql": "SELECT pc.policy_id, c.coverage_id, c.code, c.label, pc.value, pc.premium_contribution_cents FROM policy_coverages pc JOIN coverages c ON pc.coverage_id = c.coverage_id WHERE pc.policy_id = 'POL-retention-target-p_auto' ORDER BY c.code"
}{
"rows": [
{
"policy_id": "POL-retention-target-p_auto",
"coverage_id": "AUTO:BI",
"code": "BI",
"label": "Bodily Injury Liability",
"value": "5000000/10000000",
"premium_contribution_cents": null
},
{
"policy_id": "POL-retention-target-p_auto",
"coverage_id": "AUTO:COLL",
"code": "COLL",
"label": "Collision",
"value": "100000",
"premium_contribution_cents": null
},
{
"policy_id": "POL-retention-target-p_auto",
"coverage_id": "AUTO:COMP",
"code": "COMP",
"label": "Comprehensive",
"value": "50000",
"premium_contribution_cents": null
},
{
"policy_id": "POL-retention-target-p_auto",
"coverage_id": "AUTO:PD",
"code": "PD",
"label": "Property Damage Liability",
"value": "5000000",
"premium_contribution_cents": null
}
],
"row_count": 4,
"truncated": false
}⚙ query_db(SELECT coverage_id, line, code, label, kind, unit, notes FROM coverages WHERE…)
{
"sql": "SELECT coverage_id, line, code, label, kind, unit, notes FROM coverages WHERE line = 'AUTO' AND code = 'GAP'"
}{
"rows": [
{
"coverage_id": "AUTO:GAP",
"line": "AUTO",
"code": "GAP",
"label": "Loan/Lease Gap",
"kind": "flag",
"unit": "bool",
"notes": "Eligible only if the vehicle is financed (eligibility rule)."
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT er.rule_id, er.line, er.tier_id, er.coverage_id, er.state, er.effect, …)
{
"sql": "SELECT er.rule_id, er.line, er.tier_id, er.coverage_id, er.state, er.effect, er.condition, er.effective_start, er.effective_end, er.reason_doc, er.notes FROM eligibility_rules er WHERE er.line = 'AUTO' AND (er.coverage_id = 'AUTO:GAP' OR er.coverage_id IS NULL) AND (er.state = 'AZ' OR er.state IS NULL) AND (er.tier_id = 'AUTO:PINE' OR er.tier_id IS NULL) AND er.effective_start <= '2025-06-01' AND (er.effective_end IS NULL OR er.effective_end >= '2025-06-01')"
}{
"rows": [],
"row_count": 0,
"truncated": false
}⚙ search_kb(AUTO GAP eligibility financed leased vehicle coverage rules, 5)
{
"query": "AUTO GAP eligibility financed leased vehicle coverage rules",
"limit": 5
}{
"results": [
{
"doc_id": "KB-AUTO-GAP",
"title": "GAP coverage eligibility",
"category": "UNDERWRITING",
"applies_to": "{\"lines\": [\"AUTO\"]}",
"snippet": "Loan/Lease GAP is available only on **financed or leased** vehicles. It cannot be\nadded to a vehicle owned outright.\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-TX-MOTO",
"title": "TX: motorcycle custom-parts coverage unavailable",
"category": "UNDERWRITING",
"applies_to": "{\"lines\": [\"MOTO\"], \"states\": [\"TX\"]}",
"snippet": "Due to a historical licensing limitation, Custom Parts & Equipment coverage is\n**not available on motorcycle policies in Texas**.\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"
}
]
}⚙ get_doc(KB-AUTO-GAP)
{
"doc_id": "KB-AUTO-GAP"
}{
"doc_id": "KB-AUTO-GAP",
"title": "GAP coverage eligibility",
"category": "UNDERWRITING",
"applies_to": "{\"lines\": [\"AUTO\"]}",
"body_md": "Loan/Lease GAP is available only on **financed or leased** vehicles. It cannot be\nadded to a vehicle owned outright.\n"
}Thanks, Tanya — I found your PEICO auto policy.
You currently have an active auto policy for a 2020 Mazda CX-5. I checked the GAP coverage rule, and PEICO’s Loan/Lease GAP coverage is only available when the vehicle is financed or leased.
Your vehicle is currently listed in our system as not financed, so I’m not able to add GAP coverage to this policy as it stands.
If that’s incorrect — for example, if the Mazda is actually financed or leased — let me know, and I can help review what documentation or vehicle-financing update would be needed before adding GAP.
Oh, okay — so you're right, the car is actually paid off. I own it outright. I paid off the loan a couple years ago. So that means I don't need gap insurance then?
Correct — if you own the car outright and there’s no loan or lease balance, GAP insurance isn’t needed.
GAP coverage is designed to help pay the difference between:
- what your car is worth after a total loss, and
- what you still owe on a loan or lease.
Since you don’t owe anything on the Mazda, there wouldn’t be a loan/lease “gap” for the coverage to protect. Your current comprehensive and collision coverages are the parts of the policy that apply to covered damage to your vehicle, subject to your deductibles and policy terms.
That makes sense — thanks for explaining that. I appreciate you looking into it for me!
⚙ end_conversation()
{}{
"ok": true,
"note": "Deliver your closing message now."
}You’re very welcome, Tanya. Glad I could help clarify it for you — thanks for choosing PEICO, and have a great day!