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 clearly declined to add GAP coverage, correctly explained it's only available for financed/leased vehicles, confirmed the car is owned outright, 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! I'd like to add gap insurance to my auto policy. A friend mentioned it and I want to make sure I'm covered.
I can help with that. Could you give me your name or customer ID, and the policy number (or vehicle) you'd like to add GAP coverage to? I'll also need to verify your identity first — could you confirm your name, date of birth, and the policy/customer ID on file?
My name is Tanya Brooks. My date of birth is September 14, 1990. Um, I don't actually have my policy number handy — but my car is a 2020 Mazda CX-5. And my email on file is tanya.brooks@example.com if that helps.
⚙ query_db(SELECT cust_id, first_name, last_name, dob, email, phone FROM customers WHERE…)
{
"sql": "SELECT cust_id, first_name, last_name, dob, email, phone FROM customers WHERE lower(first_name)='tanya' AND lower(last_name)='brooks'"
}{
"rows": [
{
"cust_id": "CUST-retention-target",
"first_name": "Tanya",
"last_name": "Brooks",
"dob": "1990-09-14",
"email": "tanya.brooks@example.com",
"phone": null
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT * FROM vehicles WHERE cust_id='CUST-retention-target')
{
"sql": "SELECT * FROM vehicles WHERE cust_id='CUST-retention-target'"
}{
"rows": [
{
"vehicle_id": "VEH-retention-target-v1",
"cust_id": "CUST-retention-target",
"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 * FROM policies WHERE cust_id='CUST-retention-target')
{
"sql": "SELECT * FROM policies WHERE cust_id='CUST-retention-target'"
}{
"rows": [
{
"policy_id": "POL-retention-target-p_auto",
"cust_id": "CUST-retention-target",
"line": "AUTO",
"tier_id": "AUTO:PINE",
"status": "ACTIVE",
"effective_date": "2025-05-01",
"expiration_date": "2026-05-01",
"term_months": 12,
"rating_as_of": "2025-05-01",
"base_premium_cents": 106648,
"final_premium_cents": 91350,
"premium_breakdown": "[{\"step\": \"BASE\", \"code\": \"base\", \"detail\": \"base_rate $900\", \"factor\": null, \"amount_cents\": null, \"running_cents\": 90000}, {\"step\": \"BASE\", \"code\": \"tier:PINE\", \"detail\": \"tier factor \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 90000}, {\"step\": \"BASE\", \"code\": \"region:R-SW\", \"detail\": \"region factor \\u00d71.12\", \"factor\": 1.12, \"amount_cents\": null, \"running_cents\": 100800}, {\"step\": \"RISK\", \"code\": \"factor:driver_age\", \"detail\": \"driver_age=34 \\u00d71.05\", \"factor\": 1.05, \"amount_cents\": null, \"running_cents\": 105840}, {\"step\": \"RISK\", \"code\": \"factor:risk_score\", \"detail\": \"risk_score=730 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 105840}, {\"step\": \"RISK\", \"code\": \"factor:annual_miles\", \"detail\": \"annual_miles=11000 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 105840}, {\"step\": \"RISK\", \"code\": \"factor:vehicle_age\", \"detail\": \"vehicle_age=5 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 105840}, {\"step\": \"RISK\", \"code\": \"factor:incidents_5yr\", \"detail\": \"incidents_5yr=0 \\u00d70.95\", \"factor\": 0.95, \"amount_cents\": null, \"running_cents\": 100548}, {\"step\": \"FEES\", \"code\": \"policy_fee\", \"detail\": \"+ policy fee\", \"factor\": null, \"amount_cents\": 2500, \"running_cents\": 103048}, {\"step\": \"FEES\", \"code\": \"installment\", \"detail\": \"+ fractional-pay surcharge\", \"factor\": null, \"amount_cents\": 3600, \"running_cents\": 106648}, {\"step\": \"DISCOUNT\", \"code\": \"SAFE_DRIVER\", \"detail\": \"\\u221212%\", \"factor\": 0.88, \"amount_cents\": null, \"running_cents\": 93850}, {\"step\": \"DISCOUNT\", \"code\": \"PAPERLESS\", \"detail\": \"\\u2212$25\", \"factor\": null, \"amount_cents\": -2500, \"running_cents\": 91350}]",
"rating_inputs": "{\"billing\": {\"plan\": \"INSTALLMENTS\", \"autopay\": false, \"paperless\": true}, \"incidents_5yr\": 0, \"smoker\": false, \"promo_code\": null}",
"underlying_policy_id": null,
"bundle_id": null,
"rep_id": "REP-1008",
"created_at": "2025-06-01"
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT * FROM coverages WHERE line='AUTO' AND code='GAP')
{
"sql": "SELECT * 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 * FROM eligibility_rules WHERE line='AUTO' AND coverage_id='AUTO:GAP')
{
"sql": "SELECT * FROM eligibility_rules WHERE line='AUTO' AND coverage_id='AUTO:GAP'"
}{
"rows": [
{
"rule_id": "ELIG-AUTO-GAP-FINANCED",
"line": "AUTO",
"tier_id": null,
"coverage_id": "AUTO:GAP",
"state": null,
"effect": "GATE",
"condition": "vehicle_financed",
"effective_start": null,
"effective_end": null,
"reason_doc": "KB-AUTO-GAP",
"notes": "GAP eligible only when the vehicle is financed/leased."
}
],
"row_count": 1,
"truncated": false
}⚙ search_kb(GAP coverage eligibility)
{
"query": "GAP coverage eligibility"
}{
"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-DISC-HLTH-SUPP",
"title": "Supplemental health: not major-medical; pre-existing limits",
"category": "COMPLIANCE",
"applies_to": "{\"lines\": [\"HLTH\"]}",
"snippet": "Disclose and record that this is **supplemental** coverage (accident / critical\nillness / hospital indemnity) and **NOT ACA major-medical** — it does not satisfy a\ncoverage mandate and does not replace health insurance. Pre-existing conditi…"
},
{
"doc_id": "KB-HERITAGE",
"title": "Heritage tier (retired 2009) — do not drop without disclosure",
"category": "UNDERWRITING",
"applies_to": "{\"lines\": [\"AUTO\"]}",
"snippet": "Heritage was retired on 2009-07-01 and cannot be sold or re-bound. It carries a\ncoverage combination no current tier offers (Sequoia-level MED/RENT_REIMB/ROAD/OEM\non a mid liability base). A customer who drops Heritage **loses that combinat…"
},
{
"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-SUITABILITY",
"title": "Suitability requirement for Life & Health",
"category": "COMPLIANCE",
"applies_to": "{\"lines\": [\"LIFE_T\", \"LIFE_W\", \"HLTH\"]}",
"snippet": "Before binding any Life or Supplemental Health policy you must complete a\n**suitability record** (income, existing coverage, dependents, stated need,\nhorizon, risk tolerance) with outcome SUITABLE. Selling **whole life** to a\nshort-horizon,…"
}
]
}I found your policy, Tanya — thanks for confirming your details. Here's the issue: GAP (Loan/Lease Gap) coverage is only available for vehicles that are financed or leased. Your 2020 Mazda CX-5 is listed on file as not financed (owned outright), so unfortunately I can't add GAP coverage to it — it wouldn't provide any benefit since there's no loan/lease balance to cover.
If your CX-5 is actually financed and our records are just out of date, let me know and I can update that record, which would then make GAP coverage available to add. Otherwise, is there anything else I can help you with?
Oh, I see — so I don't need it since I own the car outright? That makes sense. No, our records are correct — I paid off the loan a couple of years ago, so it's fully paid off. Thanks for explaining that! I appreciate your help.
That's exactly right — since it's paid off, GAP wouldn't do anything for you anyway (it only covers the difference between what you owe and the car's value if it's totaled). Glad that cleared it up!
Is there anything else I can help you with today?