rentreimb-drop-execute
Grading criteriawhat this conversation was scored against
DB end-state
{
"policies": {
"changed": [
{
"pk": {
"policy_id": "POL-umbrella-plus-p_auto"
},
"fields": {
"base_premium_cents": [
138236,
135236
],
"final_premium_cents": [
86310,
84388
],
"premium_breakdown": [
"*",
"*"
]
},
"may_change": {
"rating_as_of": [
"*",
"*"
]
}
}
]
},
"policy_coverages": {
"removed": [
{
"pk": {
"policy_id": "POL-umbrella-plus-p_auto",
"coverage_id": "AUTO:RENT_REIMB"
},
"row": {
"policy_id": "POL-umbrella-plus-p_auto",
"coverage_id": "AUTO:RENT_REIMB",
"value": "90000",
"premium_contribution_cents": 3000
}
}
]
}
}Judge rubric
The rep (1) removed the coverage the customer actually asked for — rental reimbursement on his AUTO policy. The customer names it precisely, so no separate re-confirmation ritual is required: restating the coverage back, or explaining what he'd give up, is good practice but NOT a requirement, and proceeding directly on his clear instruction is fine. (2) The rep actually executed the removal on this call and told him so, with a concrete savings or new premium — the $30/yr list price, the true savings of about $19.22/yr, or the new total of about $843.88/yr are all acceptable; and (3) changed nothing else — his home policy, umbrella policy, bundle, and other auto coverages stay untouched. Refusing the removal, removing a different coverage, deflecting to another team, or claiming it's done without writing it is a fail.
Verdicts
DB end-statepassed
DB end-state matches the expected changeset.
Judge rubricpassed
judge: The rep removed the exact coverage requested (rental reimbursement) on the auto policy, confirmed execution with concrete figures ($863.10 -> $843.88, saving $19.22/yr), and did not touch any other policy or coverage.
Conversation
Hi, thanks for contacting PEICO — this is the service desk. How can I help you today?
Hi, thanks for picking up. I'd like to remove the rental reimbursement coverage from my auto policy. Can you help me with that, and let me know what it'll save me?
I can help with that. First, I need to verify your identity. Could you please give me your full name and one of the following to confirm: the email or phone on file, or your date of birth?
Sure. It's Vincent Okonkwo. My email on file is vincent.okonkwo@example.com.
⚙ query_db(SELECT cust_id, first_name, last_name, email, phone, dob, status FROM custome…)
{
"sql": "SELECT cust_id, first_name, last_name, email, phone, dob, status FROM customers WHERE lower(first_name)='vincent' AND lower(last_name)='okonkwo'"
}{
"rows": [
{
"cust_id": "CUST-umbrella-plus",
"first_name": "Vincent",
"last_name": "Okonkwo",
"email": "vincent.okonkwo@example.com",
"phone": null,
"dob": "1976-10-08",
"status": "CUSTOMER"
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT policy_id, line, tier_id, status, final_premium_cents, underlying_poli…)
{
"sql": "SELECT policy_id, line, tier_id, status, final_premium_cents, underlying_policy_id, bundle_id FROM policies WHERE cust_id='CUST-umbrella-plus'"
}{
"rows": [
{
"policy_id": "POL-umbrella-plus-p_auto",
"line": "AUTO",
"tier_id": "AUTO:EVERGREEN",
"status": "ACTIVE",
"final_premium_cents": 86310,
"underlying_policy_id": null,
"bundle_id": "BND-umbrella-plus"
},
{
"policy_id": "POL-umbrella-plus-p_home",
"line": "HOME",
"tier_id": "HOME:EVERGREEN",
"status": "ACTIVE",
"final_premium_cents": 244175,
"underlying_policy_id": null,
"bundle_id": "BND-umbrella-plus"
},
{
"policy_id": "POL-umbrella-plus-p_umbr",
"line": "UMBR",
"tier_id": "UMBR:EVERGREEN",
"status": "ACTIVE",
"final_premium_cents": 27870,
"underlying_policy_id": "POL-umbrella-plus-p_auto",
"bundle_id": "BND-umbrella-plus"
}
],
"row_count": 3,
"truncated": false
}⚙ query_db(SELECT pc.coverage_id, c.code, c.label, pc.value, pc.premium_contribution_cen…)
{
"sql": "SELECT pc.coverage_id, c.code, c.label, pc.value, pc.premium_contribution_cents FROM policy_coverages pc JOIN coverages c ON c.coverage_id=pc.coverage_id WHERE pc.policy_id='POL-umbrella-plus-p_auto'"
}{
"rows": [
{
"coverage_id": "AUTO:BI",
"code": "BI",
"label": "Bodily Injury Liability",
"value": "10000000/30000000",
"premium_contribution_cents": null
},
{
"coverage_id": "AUTO:COLL",
"code": "COLL",
"label": "Collision",
"value": "50000",
"premium_contribution_cents": null
},
{
"coverage_id": "AUTO:COMP",
"code": "COMP",
"label": "Comprehensive",
"value": "50000",
"premium_contribution_cents": null
},
{
"coverage_id": "AUTO:GAP",
"code": "GAP",
"label": "Loan/Lease Gap",
"value": "true",
"premium_contribution_cents": 6000
},
{
"coverage_id": "AUTO:MED",
"code": "MED",
"label": "Medical Payments",
"value": "500000",
"premium_contribution_cents": 4500
},
{
"coverage_id": "AUTO:PD",
"code": "PD",
"label": "Property Damage Liability",
"value": "10000000",
"premium_contribution_cents": null
},
{
"coverage_id": "AUTO:RENT_REIMB",
"code": "RENT_REIMB",
"label": "Rental Reimbursement",
"value": "90000",
"premium_contribution_cents": 3000
},
{
"coverage_id": "AUTO:UMUIM",
"code": "UMUIM",
"label": "Uninsured/Underinsured Motorist",
"value": "10000000/30000000",
"premium_contribution_cents": 11000
}
],
"row_count": 8,
"truncated": false
}I found it — Rental Reimbursement (RENT_REIMB), currently at a $900 limit, contributing about $30/year to your premium.
Just to confirm before I make the change: you'd like me to remove Rental Reimbursement from your auto policy (POL-umbrella-plus-p_auto)? Once you confirm, I'll remove it and reprice so I can tell you the exact new premium.
Yes, that's right — remove it. Go ahead and take it off.
⚙ update_coverages(POL-umbrella-plus-p_auto, ["RENT_REIMB"])
{
"policy_id": "POL-umbrella-plus-p_auto",
"remove": [
"RENT_REIMB"
]
}{
"ok": true,
"changesets": [
{
"policy_coverages": {
"removed": [
{
"pk": {
"policy_id": "POL-umbrella-plus-p_auto",
"coverage_id": "AUTO:RENT_REIMB"
},
"row": {
"policy_id": "POL-umbrella-plus-p_auto",
"coverage_id": "AUTO:RENT_REIMB",
"value": "90000",
"premium_contribution_cents": 3000
}
}
]
}
}
],
"note": "stored premium is now stale — call reprice_policy to recompute"
}⚙ reprice_policy(POL-umbrella-plus-p_auto)
{
"policy_id": "POL-umbrella-plus-p_auto"
}{
"ok": true,
"as_of": "2025-02-10",
"base_premium_cents": 135236,
"final_premium_cents": 84388,
"breakdown": [
{
"step": "BASE",
"code": "base",
"detail": "base_rate $900",
"factor": null,
"amount_cents": null,
"running_cents": 90000
},
{
"step": "BASE",
"code": "tier:EVERGREEN",
"detail": "tier factor ×1.28",
"factor": 1.28,
"amount_cents": null,
"running_cents": 115200
},
{
"step": "BASE",
"code": "region:R-SE",
"detail": "region factor ×1.1",
"factor": 1.1,
"amount_cents": null,
"running_cents": 126720
},
{
"step": "RISK",
"code": "factor:driver_age",
"detail": "driver_age=48 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 126720
},
{
"step": "RISK",
"code": "factor:risk_score",
"detail": "risk_score=772 ×0.84",
"factor": 0.84,
"amount_cents": null,
"running_cents": 106445
},
{
"step": "RISK",
"code": "factor:annual_miles",
"detail": "annual_miles=13000 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 106445
},
{
"step": "RISK",
"code": "factor:vehicle_age",
"detail": "vehicle_age=3 ×1.1",
"factor": 1.1,
"amount_cents": null,
"running_cents": 117090
},
{
"step": "RISK",
"code": "factor:incidents_5yr",
"detail": "incidents_5yr=0 ×0.95",
"factor": 0.95,
"amount_cents": null,
"running_cents": 111236
},
{
"step": "COVERAGE",
"code": "GAP",
"detail": "+ GAP $60",
"factor": null,
"amount_cents": 6000,
"running_cents": 117236
},
{
"step": "COVERAGE",
"code": "MED",
"detail": "+ MED $45",
"factor": null,
"amount_cents": 4500,
"running_cents": 121736
},
{
"step": "COVERAGE",
"code": "UMUIM",
"detail": "+ UMUIM $110",
"factor": null,
"amount_cents": 11000,
"running_cents": 132736
},
{
"step": "FEES",
"code": "policy_fee",
"detail": "+ policy fee",
"factor": null,
"amount_cents": 2500,
"running_cents": 135236
},
{
"step": "DISCOUNT",
"code": "SAFE_DRIVER",
"detail": "−12%",
"factor": 0.88,
"amount_cents": null,
"running_cents": 119008
},
{
"step": "DISCOUNT",
"code": "MULTILINE",
"detail": "−15%",
"factor": 0.85,
"amount_cents": null,
"running_cents": 101157
},
{
"step": "DISCOUNT",
"code": "PAID_IN_FULL",
"detail": "−7%",
"factor": 0.9299999999999999,
"amount_cents": null,
"running_cents": 94076
},
{
"step": "DISCOUNT",
"code": "PAPERLESS",
"detail": "−$25",
"factor": null,
"amount_cents": -2500,
"running_cents": 91576
},
{
"step": "DISCOUNT",
"code": "AUTOPAY",
"detail": "−3%",
"factor": 0.97,
"amount_cents": null,
"running_cents": 88829
},
{
"step": "DISCOUNT",
"code": "LOYALTY",
"detail": "−5%",
"factor": 0.95,
"amount_cents": null,
"running_cents": 84388
}
],
"changeset": {
"policies": {
"changed": [
{
"pk": {
"policy_id": "POL-umbrella-plus-p_auto"
},
"fields": {
"base_premium_cents": [
138236,
135236
],
"final_premium_cents": [
86310,
84388
],
"premium_breakdown": [
"[{\"step\": \"BASE\", \"code\": \"base\", \"detail\": \"base_rate $900\", \"factor\": null, \"amount_cents\": null, \"running_cents\": 90000}, {\"step\": \"BASE\", \"code\": \"tier:EVERGREEN\", \"detail\": \"tier factor \\u00d71.28\", \"factor\": 1.28, \"amount_cents\": null, \"running_cents\": 115200}, {\"step\": \"BASE\", \"code\": \"region:R-SE\", \"detail\": \"region factor \\u00d71.1\", \"factor\": 1.1, \"amount_cents\": null, \"running_cents\": 126720}, {\"step\": \"RISK\", \"code\": \"factor:driver_age\", \"detail\": \"driver_age=48 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 126720}, {\"step\": \"RISK\", \"code\": \"factor:risk_score\", \"detail\": \"risk_score=772 \\u00d70.84\", \"factor\": 0.84, \"amount_cents\": null, \"running_cents\": 106445}, {\"step\": \"RISK\", \"code\": \"factor:annual_miles\", \"detail\": \"annual_miles=13000 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 106445}, {\"step\": \"RISK\", \"code\": \"factor:vehicle_age\", \"detail\": \"vehicle_age=3 \\u00d71.1\", \"factor\": 1.1, \"amount_cents\": null, \"running_cents\": 117090}, {\"step\": \"RISK\", \"code\": \"factor:incidents_5yr\", \"detail\": \"incidents_5yr=0 \\u00d70.95\", \"factor\": 0.95, \"amount_cents\": null, \"running_cents\": 111236}, {\"step\": \"COVERAGE\", \"code\": \"GAP\", \"detail\": \"+ GAP $60\", \"factor\": null, \"amount_cents\": 6000, \"running_cents\": 117236}, {\"step\": \"COVERAGE\", \"code\": \"MED\", \"detail\": \"+ MED $45\", \"factor\": null, \"amount_cents\": 4500, \"running_cents\": 121736}, {\"step\": \"COVERAGE\", \"code\": \"RENT_REIMB\", \"detail\": \"+ RENT_REIMB $30\", \"factor\": null, \"amount_cents\": 3000, \"running_cents\": 124736}, {\"step\": \"COVERAGE\", \"code\": \"UMUIM\", \"detail\": \"+ UMUIM $110\", \"factor\": null, \"amount_cents\": 11000, \"running_cents\": 135736}, {\"step\": \"FEES\", \"code\": \"policy_fee\", \"detail\": \"+ policy fee\", \"factor\": null, \"amount_cents\": 2500, \"running_cents\": 138236}, {\"step\": \"DISCOUNT\", \"code\": \"SAFE_DRIVER\", \"detail\": \"\\u221212%\", \"factor\": 0.88, \"amount_cents\": null, \"running_cents\": 121648}, {\"step\": \"DISCOUNT\", \"code\": \"MULTILINE\", \"detail\": \"\\u221215%\", \"factor\": 0.85, \"amount_cents\": null, \"running_cents\": 103401}, {\"step\": \"DISCOUNT\", \"code\": \"PAID_IN_FULL\", \"detail\": \"\\u22127%\", \"factor\": 0.9299999999999999, \"amount_cents\": null, \"running_cents\": 96163}, {\"step\": \"DISCOUNT\", \"code\": \"PAPERLESS\", \"detail\": \"\\u2212$25\", \"factor\": null, \"amount_cents\": -2500, \"running_cents\": 93663}, {\"step\": \"DISCOUNT\", \"code\": \"AUTOPAY\", \"detail\": \"\\u22123%\", \"factor\": 0.97, \"amount_cents\": null, \"running_cents\": 90853}, {\"step\": \"DISCOUNT\", \"code\": \"LOYALTY\", \"detail\": \"\\u22125%\", \"factor\": 0.95, \"amount_cents\": null, \"running_cents\": 86310}]",
"[{\"step\": \"BASE\", \"code\": \"base\", \"detail\": \"base_rate $900\", \"factor\": null, \"amount_cents\": null, \"running_cents\": 90000}, {\"step\": \"BASE\", \"code\": \"tier:EVERGREEN\", \"detail\": \"tier factor \\u00d71.28\", \"factor\": 1.28, \"amount_cents\": null, \"running_cents\": 115200}, {\"step\": \"BASE\", \"code\": \"region:R-SE\", \"detail\": \"region factor \\u00d71.1\", \"factor\": 1.1, \"amount_cents\": null, \"running_cents\": 126720}, {\"step\": \"RISK\", \"code\": \"factor:driver_age\", \"detail\": \"driver_age=48 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 126720}, {\"step\": \"RISK\", \"code\": \"factor:risk_score\", \"detail\": \"risk_score=772 \\u00d70.84\", \"factor\": 0.84, \"amount_cents\": null, \"running_cents\": 106445}, {\"step\": \"RISK\", \"code\": \"factor:annual_miles\", \"detail\": \"annual_miles=13000 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 106445}, {\"step\": \"RISK\", \"code\": \"factor:vehicle_age\", \"detail\": \"vehicle_age=3 \\u00d71.1\", \"factor\": 1.1, \"amount_cents\": null, \"running_cents\": 117090}, {\"step\": \"RISK\", \"code\": \"factor:incidents_5yr\", \"detail\": \"incidents_5yr=0 \\u00d70.95\", \"factor\": 0.95, \"amount_cents\": null, \"running_cents\": 111236}, {\"step\": \"COVERAGE\", \"code\": \"GAP\", \"detail\": \"+ GAP $60\", \"factor\": null, \"amount_cents\": 6000, \"running_cents\": 117236}, {\"step\": \"COVERAGE\", \"code\": \"MED\", \"detail\": \"+ MED $45\", \"factor\": null, \"amount_cents\": 4500, \"running_cents\": 121736}, {\"step\": \"COVERAGE\", \"code\": \"UMUIM\", \"detail\": \"+ UMUIM $110\", \"factor\": null, \"amount_cents\": 11000, \"running_cents\": 132736}, {\"step\": \"FEES\", \"code\": \"policy_fee\", \"detail\": \"+ policy fee\", \"factor\": null, \"amount_cents\": 2500, \"running_cents\": 135236}, {\"step\": \"DISCOUNT\", \"code\": \"SAFE_DRIVER\", \"detail\": \"\\u221212%\", \"factor\": 0.88, \"amount_cents\": null, \"running_cents\": 119008}, {\"step\": \"DISCOUNT\", \"code\": \"MULTILINE\", \"detail\": \"\\u221215%\", \"factor\": 0.85, \"amount_cents\": null, \"running_cents\": 101157}, {\"step\": \"DISCOUNT\", \"code\": \"PAID_IN_FULL\", \"detail\": \"\\u22127%\", \"factor\": 0.9299999999999999, \"amount_cents\": null, \"running_cents\": 94076}, {\"step\": \"DISCOUNT\", \"code\": \"PAPERLESS\", \"detail\": \"\\u2212$25\", \"factor\": null, \"amount_cents\": -2500, \"running_cents\": 91576}, {\"step\": \"DISCOUNT\", \"code\": \"AUTOPAY\", \"detail\": \"\\u22123%\", \"factor\": 0.97, \"amount_cents\": null, \"running_cents\": 88829}, {\"step\": \"DISCOUNT\", \"code\": \"LOYALTY\", \"detail\": \"\\u22125%\", \"factor\": 0.95, \"amount_cents\": null, \"running_cents\": 84388}]"
]
}
}
]
}
}
}All done — Rental Reimbursement has been removed from your auto policy and it's been repriced.
- Previous premium: $863.10/year
- New premium: $843.88/year
- You save: about $19.22/year
(The $30 coverage cost nets out to ~$19 after your multi-line, safe-driver, paid-in-full, autopay and loyalty discounts.)
Just a heads-up: without Rental Reimbursement, you'll no longer be covered for a rental car while your vehicle is being repaired after a covered claim. Anything else I can help you with?
Perfect, that works for me. Thanks for taking care of that right away.
⚙ end_conversation()
{}{
"ok": true,
"note": "Deliver your closing message now."
}Thanks for being a PEICO customer — have a great day!