pet-wellness-drop-phone
Grading criteriawhat this conversation was scored against
DB end-state
{
"customers": {
"changed": [
{
"pk": {
"cust_id": "CUST-loyalty-oldgrowth"
},
"fields": {
"phone": [
null,
"616-555-0148"
]
}
}
]
},
"policies": {
"changed": [
{
"pk": {
"policy_id": "POL-loyalty-oldgrowth-p_pet"
},
"fields": {
"base_premium_cents": [
68170,
56170
],
"final_premium_cents": [
56117,
45834
],
"premium_breakdown": [
"*",
"*"
]
},
"may_change": {
"rating_as_of": [
"*",
"*"
]
}
}
]
},
"policy_coverages": {
"removed": [
{
"pk": {
"policy_id": "POL-loyalty-oldgrowth-p_pet",
"coverage_id": "PET:WELLNESS"
},
"row": {
"policy_id": "POL-loyalty-oldgrowth-p_pet",
"coverage_id": "PET:WELLNESS",
"value": "true",
"premium_contribution_cents": 12000
}
}
]
}
}Judge rubric
The rep completed BOTH requests on this call: (1) removed the wellness rider from the PET policy and repriced it, telling him a concrete outcome — the $120/yr list price, the true savings of about $102.83/yr, or the new total of about $458.34/yr are all acceptable; and (2) stored his phone number exactly as dictated (616-555-0148), ideally with a read-back. The auto policy and everything else stay untouched. Completing only one of the two and ending the call is a fail. Removing the rider without repricing, storing a mistyped number, refusing either request, or deflecting either to another team is a fail. Briefly confirming what the rider covers before removal is good practice, not a fail.
Verdicts
DB end-statepassed
DB end-state matches the expected changeset.
Judge rubricpassed
judge: The rep removed the wellness rider and gave a concrete repriced outcome ($458.34, down from $561.17, a $102.83 decrease), and stored the phone number exactly as dictated (616-555-0148), leaving the auto policy untouched.
Conversation
Hi, thanks for contacting PEICO — this is the service desk. How can I help you today?
Hi, thanks for picking up. I need to make two changes to my accounts today. First, I'd like to remove the wellness rider from Biscuit's pet policy — I've run the numbers and it's costing me more than just paying for the vet visits out of pocket. Can you help with that?
Absolutely, I can help with removing the wellness rider from Biscuit’s pet policy.
Before I look up or change the policy, I’ll need to verify the account. Could you please provide:
- Your full name
- Date of birth
- ZIP code on the account
- Either the policy number or the email/phone number on file
Sure. Harold Nyberg, April 27, 1962, and my ZIP is 49503. My policy number is EVG7782M3.
⚙ query_db(SELECT c.cust_id, c.first_name, c.last_name, c.dob, c.email, c.phone, a.zip, …)
{
"sql": "SELECT c.cust_id, c.first_name, c.last_name, c.dob, c.email, c.phone, a.zip, p.policy_id, p.line, p.tier_id, p.status, p.effective_date, p.expiration_date, p.final_premium_cents, p.rating_inputs FROM customers c JOIN addresses a ON c.address_id=a.address_id JOIN policies p ON p.cust_id=c.cust_id WHERE (p.policy_id='EVG7782M3' OR c.legacy_acct='EVG7782M3') AND c.last_name='Nyberg'"
}{
"rows": [
{
"cust_id": "CUST-loyalty-oldgrowth",
"first_name": "Harold",
"last_name": "Nyberg",
"dob": "1962-04-27",
"email": "harold.nyberg@example.com",
"phone": null,
"zip": "49503",
"policy_id": "POL-loyalty-oldgrowth-p_auto",
"line": "AUTO",
"tier_id": "AUTO:EVERGREEN",
"status": "ACTIVE",
"effective_date": "2025-01-20",
"expiration_date": "2026-01-20",
"final_premium_cents": 89796,
"rating_inputs": "{\"billing\": {\"plan\": \"PAY_IN_FULL\", \"autopay\": true, \"paperless\": true}, \"incidents_5yr\": 0, \"smoker\": false, \"promo_code\": null}"
},
{
"cust_id": "CUST-loyalty-oldgrowth",
"first_name": "Harold",
"last_name": "Nyberg",
"dob": "1962-04-27",
"email": "harold.nyberg@example.com",
"phone": null,
"zip": "49503",
"policy_id": "POL-loyalty-oldgrowth-p_pet",
"line": "PET",
"tier_id": "PET:EVERGREEN",
"status": "ACTIVE",
"effective_date": "2025-01-20",
"expiration_date": "2026-01-20",
"final_premium_cents": 56117,
"rating_inputs": "{\"billing\": {\"plan\": \"PAY_IN_FULL\", \"autopay\": true, \"paperless\": true}, \"incidents_5yr\": 0, \"smoker\": false, \"promo_code\": null}"
}
],
"row_count": 2,
"truncated": false
}⚙ query_db(SELECT p.policy_id, p.line, p.tier_id, p.status, po.object_type, po.object_id…)
{
"sql": "SELECT p.policy_id, p.line, p.tier_id, p.status, po.object_type, po.object_id, pet.name, pc.coverage_id, c.code, c.label, c.kind, c.unit, pc.value, pc.premium_contribution_cents FROM policies p LEFT JOIN policy_objects po ON po.policy_id=p.policy_id LEFT JOIN pets pet ON po.object_type='pet' AND po.object_id=pet.pet_id LEFT JOIN policy_coverages pc ON pc.policy_id=p.policy_id LEFT JOIN coverages c ON c.coverage_id=pc.coverage_id WHERE p.policy_id='POL-loyalty-oldgrowth-p_pet' ORDER BY c.code"
}{
"rows": [
{
"policy_id": "POL-loyalty-oldgrowth-p_pet",
"line": "PET",
"tier_id": "PET:EVERGREEN",
"status": "ACTIVE",
"object_type": "pet",
"object_id": "PET-loyalty-oldgrowth-pet1",
"name": "Biscuit",
"coverage_id": "PET:ANNUAL_MAX",
"code": "ANNUAL_MAX",
"label": "Annual Benefit Limit",
"kind": "limit",
"unit": "usd",
"value": "2000000",
"premium_contribution_cents": null
},
{
"policy_id": "POL-loyalty-oldgrowth-p_pet",
"line": "PET",
"tier_id": "PET:EVERGREEN",
"status": "ACTIVE",
"object_type": "pet",
"object_id": "PET-loyalty-oldgrowth-pet1",
"name": "Biscuit",
"coverage_id": "PET:DEDUCT",
"code": "DEDUCT",
"label": "Annual Deductible",
"kind": "deductible",
"unit": "usd",
"value": "10000",
"premium_contribution_cents": null
},
{
"policy_id": "POL-loyalty-oldgrowth-p_pet",
"line": "PET",
"tier_id": "PET:EVERGREEN",
"status": "ACTIVE",
"object_type": "pet",
"object_id": "PET-loyalty-oldgrowth-pet1",
"name": "Biscuit",
"coverage_id": "PET:DENTAL",
"code": "DENTAL",
"label": "Dental Illness",
"kind": "flag",
"unit": "bool",
"value": "true",
"premium_contribution_cents": 6000
},
{
"policy_id": "POL-loyalty-oldgrowth-p_pet",
"line": "PET",
"tier_id": "PET:EVERGREEN",
"status": "ACTIVE",
"object_type": "pet",
"object_id": "PET-loyalty-oldgrowth-pet1",
"name": "Biscuit",
"coverage_id": "PET:EXAM_FEE",
"code": "EXAM_FEE",
"label": "Exam Fees",
"kind": "flag",
"unit": "bool",
"value": "true",
"premium_contribution_cents": 2500
},
{
"policy_id": "POL-loyalty-oldgrowth-p_pet",
"line": "PET",
"tier_id": "PET:EVERGREEN",
"status": "ACTIVE",
"object_type": "pet",
"object_id": "PET-loyalty-oldgrowth-pet1",
"name": "Biscuit",
"coverage_id": "PET:REIMB_PCT",
"code": "REIMB_PCT",
"label": "Reimbursement Percentage",
"kind": "feature",
"unit": "pct",
"value": "0.9",
"premium_contribution_cents": null
},
{
"policy_id": "POL-loyalty-oldgrowth-p_pet",
"line": "PET",
"tier_id": "PET:EVERGREEN",
"status": "ACTIVE",
"object_type": "pet",
"object_id": "PET-loyalty-oldgrowth-pet1",
"name": "Biscuit",
"coverage_id": "PET:WELLNESS",
"code": "WELLNESS",
"label": "Wellness/Routine Care",
"kind": "flag",
"unit": "bool",
"value": "true",
"premium_contribution_cents": 12000
}
],
"row_count": 6,
"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, t.sellable, t.code AS tier_code FROM eligibility_rules er LEFT JOIN tiers t ON t.tier_id=er.tier_id WHERE er.line='PET' AND (er.coverage_id='PET:WELLNESS' OR er.coverage_id IS NULL) AND (er.state='MI' OR er.state IS NULL) AND (er.tier_id='PET:EVERGREEN' OR er.tier_id IS NULL)"
}{
"rows": [],
"row_count": 0,
"truncated": false
}⚙ query_db(SELECT t.tier_id, t.line, t.code, t.label, t.sellable, t.retired_on, t.notes,…)
{
"sql": "SELECT t.tier_id, t.line, t.code, t.label, t.sellable, t.retired_on, t.notes, d.coverage_id, c.code AS coverage_code, c.label, d.included, d.default_value, d.editable FROM tiers t LEFT JOIN tier_coverage_defaults d ON d.tier_id=t.tier_id LEFT JOIN coverages c ON c.coverage_id=d.coverage_id WHERE t.tier_id='PET:EVERGREEN' AND (d.coverage_id='PET:WELLNESS' OR d.coverage_id IS NULL)"
}{
"rows": [
{
"tier_id": "PET:EVERGREEN",
"line": "PET",
"code": "EVERGREEN",
"label": "Evergreen",
"sellable": 1,
"retired_on": null,
"notes": null,
"coverage_id": "PET:WELLNESS",
"coverage_code": "WELLNESS",
"included": 1,
"default_value": "true",
"editable": 1
}
],
"row_count": 1,
"truncated": false
}⚙ update_coverages(POL-loyalty-oldgrowth-p_pet, ["WELLNESS"])
{
"policy_id": "POL-loyalty-oldgrowth-p_pet",
"remove": [
"WELLNESS"
]
}{
"ok": true,
"changesets": [
{
"policy_coverages": {
"removed": [
{
"pk": {
"policy_id": "POL-loyalty-oldgrowth-p_pet",
"coverage_id": "PET:WELLNESS"
},
"row": {
"policy_id": "POL-loyalty-oldgrowth-p_pet",
"coverage_id": "PET:WELLNESS",
"value": "true",
"premium_contribution_cents": 12000
}
}
]
}
}
],
"note": "stored premium is now stale — call reprice_policy to recompute"
}⚙ reprice_policy(POL-loyalty-oldgrowth-p_pet, 2025-06-01)
{
"policy_id": "POL-loyalty-oldgrowth-p_pet",
"as_of": "2025-06-01"
}{
"ok": true,
"as_of": "2025-06-01",
"base_premium_cents": 56170,
"final_premium_cents": 45834,
"breakdown": [
{
"step": "BASE",
"code": "base",
"detail": "base_rate $240",
"factor": null,
"amount_cents": null,
"running_cents": 24000
},
{
"step": "BASE",
"code": "tier:EVERGREEN",
"detail": "tier factor ×1.45",
"factor": 1.45,
"amount_cents": null,
"running_cents": 34800
},
{
"step": "BASE",
"code": "region:R-MW",
"detail": "region factor ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 34800
},
{
"step": "RISK",
"code": "factor:species",
"detail": "species=DOG ×1.1",
"factor": 1.1,
"amount_cents": null,
"running_cents": 38280
},
{
"step": "RISK",
"code": "factor:pet_age",
"detail": "pet_age=5 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 38280
},
{
"step": "RISK",
"code": "factor:reimburse_pct",
"detail": "reimburse_pct=0.9 ×1.18",
"factor": 1.18,
"amount_cents": null,
"running_cents": 45170
},
{
"step": "COVERAGE",
"code": "DENTAL",
"detail": "+ DENTAL $60",
"factor": null,
"amount_cents": 6000,
"running_cents": 51170
},
{
"step": "COVERAGE",
"code": "EXAM_FEE",
"detail": "+ EXAM_FEE $25",
"factor": null,
"amount_cents": 2500,
"running_cents": 53670
},
{
"step": "FEES",
"code": "policy_fee",
"detail": "+ policy fee",
"factor": null,
"amount_cents": 2500,
"running_cents": 56170
},
{
"step": "DISCOUNT",
"code": "PAID_IN_FULL",
"detail": "−7%",
"factor": 0.9299999999999999,
"amount_cents": null,
"running_cents": 52238
},
{
"step": "DISCOUNT",
"code": "PAPERLESS",
"detail": "−$25",
"factor": null,
"amount_cents": -2500,
"running_cents": 49738
},
{
"step": "DISCOUNT",
"code": "AUTOPAY",
"detail": "−3%",
"factor": 0.97,
"amount_cents": null,
"running_cents": 48246
},
{
"step": "DISCOUNT",
"code": "LOYALTY",
"detail": "−5%",
"factor": 0.95,
"amount_cents": null,
"running_cents": 45834
}
],
"changeset": {
"policies": {
"changed": [
{
"pk": {
"policy_id": "POL-loyalty-oldgrowth-p_pet"
},
"fields": {
"rating_as_of": [
"2025-01-20",
"2025-06-01"
],
"base_premium_cents": [
68170,
56170
],
"final_premium_cents": [
56117,
45834
],
"premium_breakdown": [
"[{\"step\": \"BASE\", \"code\": \"base\", \"detail\": \"base_rate $240\", \"factor\": null, \"amount_cents\": null, \"running_cents\": 24000}, {\"step\": \"BASE\", \"code\": \"tier:EVERGREEN\", \"detail\": \"tier factor \\u00d71.45\", \"factor\": 1.45, \"amount_cents\": null, \"running_cents\": 34800}, {\"step\": \"BASE\", \"code\": \"region:R-MW\", \"detail\": \"region factor \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 34800}, {\"step\": \"RISK\", \"code\": \"factor:species\", \"detail\": \"species=DOG \\u00d71.1\", \"factor\": 1.1, \"amount_cents\": null, \"running_cents\": 38280}, {\"step\": \"RISK\", \"code\": \"factor:pet_age\", \"detail\": \"pet_age=5 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 38280}, {\"step\": \"RISK\", \"code\": \"factor:reimburse_pct\", \"detail\": \"reimburse_pct=0.9 \\u00d71.18\", \"factor\": 1.18, \"amount_cents\": null, \"running_cents\": 45170}, {\"step\": \"COVERAGE\", \"code\": \"DENTAL\", \"detail\": \"+ DENTAL $60\", \"factor\": null, \"amount_cents\": 6000, \"running_cents\": 51170}, {\"step\": \"COVERAGE\", \"code\": \"EXAM_FEE\", \"detail\": \"+ EXAM_FEE $25\", \"factor\": null, \"amount_cents\": 2500, \"running_cents\": 53670}, {\"step\": \"COVERAGE\", \"code\": \"WELLNESS\", \"detail\": \"+ WELLNESS $120\", \"factor\": null, \"amount_cents\": 12000, \"running_cents\": 65670}, {\"step\": \"FEES\", \"code\": \"policy_fee\", \"detail\": \"+ policy fee\", \"factor\": null, \"amount_cents\": 2500, \"running_cents\": 68170}, {\"step\": \"DISCOUNT\", \"code\": \"PAID_IN_FULL\", \"detail\": \"\\u22127%\", \"factor\": 0.9299999999999999, \"amount_cents\": null, \"running_cents\": 63398}, {\"step\": \"DISCOUNT\", \"code\": \"PAPERLESS\", \"detail\": \"\\u2212$25\", \"factor\": null, \"amount_cents\": -2500, \"running_cents\": 60898}, {\"step\": \"DISCOUNT\", \"code\": \"AUTOPAY\", \"detail\": \"\\u22123%\", \"factor\": 0.97, \"amount_cents\": null, \"running_cents\": 59071}, {\"step\": \"DISCOUNT\", \"code\": \"LOYALTY\", \"detail\": \"\\u22125%\", \"factor\": 0.95, \"amount_cents\": null, \"running_cents\": 56117}]",
"[{\"step\": \"BASE\", \"code\": \"base\", \"detail\": \"base_rate $240\", \"factor\": null, \"amount_cents\": null, \"running_cents\": 24000}, {\"step\": \"BASE\", \"code\": \"tier:EVERGREEN\", \"detail\": \"tier factor \\u00d71.45\", \"factor\": 1.45, \"amount_cents\": null, \"running_cents\": 34800}, {\"step\": \"BASE\", \"code\": \"region:R-MW\", \"detail\": \"region factor \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 34800}, {\"step\": \"RISK\", \"code\": \"factor:species\", \"detail\": \"species=DOG \\u00d71.1\", \"factor\": 1.1, \"amount_cents\": null, \"running_cents\": 38280}, {\"step\": \"RISK\", \"code\": \"factor:pet_age\", \"detail\": \"pet_age=5 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 38280}, {\"step\": \"RISK\", \"code\": \"factor:reimburse_pct\", \"detail\": \"reimburse_pct=0.9 \\u00d71.18\", \"factor\": 1.18, \"amount_cents\": null, \"running_cents\": 45170}, {\"step\": \"COVERAGE\", \"code\": \"DENTAL\", \"detail\": \"+ DENTAL $60\", \"factor\": null, \"amount_cents\": 6000, \"running_cents\": 51170}, {\"step\": \"COVERAGE\", \"code\": \"EXAM_FEE\", \"detail\": \"+ EXAM_FEE $25\", \"factor\": null, \"amount_cents\": 2500, \"running_cents\": 53670}, {\"step\": \"FEES\", \"code\": \"policy_fee\", \"detail\": \"+ policy fee\", \"factor\": null, \"amount_cents\": 2500, \"running_cents\": 56170}, {\"step\": \"DISCOUNT\", \"code\": \"PAID_IN_FULL\", \"detail\": \"\\u22127%\", \"factor\": 0.9299999999999999, \"amount_cents\": null, \"running_cents\": 52238}, {\"step\": \"DISCOUNT\", \"code\": \"PAPERLESS\", \"detail\": \"\\u2212$25\", \"factor\": null, \"amount_cents\": -2500, \"running_cents\": 49738}, {\"step\": \"DISCOUNT\", \"code\": \"AUTOPAY\", \"detail\": \"\\u22123%\", \"factor\": 0.97, \"amount_cents\": null, \"running_cents\": 48246}, {\"step\": \"DISCOUNT\", \"code\": \"LOYALTY\", \"detail\": \"\\u22125%\", \"factor\": 0.95, \"amount_cents\": null, \"running_cents\": 45834}]"
]
}
}
]
}
}
}Thanks, Harold — I verified the account and found Biscuit’s active pet policy.
I’ve removed the Wellness/Routine Care rider from Biscuit’s policy and repriced it.
Your updated pet policy premium is $458.34 for the term, down from $561.17. That’s a decrease of $102.83 for the current term.
You mentioned you had two changes to make today — what’s the second change you’d like help with?
Perfect, thanks. The second thing is I need you to add my cell phone number to the account. It's six one six, five five five, zero one four eight.
⚙ update_contact(CUST-loyalty-oldgrowth, 616-555-0148)
{
"cust_id": "CUST-loyalty-oldgrowth",
"phone": "616-555-0148"
}{
"ok": true,
"rows_affected": 1,
"changeset": {
"customers": {
"changed": [
{
"pk": {
"cust_id": "CUST-loyalty-oldgrowth"
},
"fields": {
"phone": [
null,
"616-555-0148"
]
}
}
]
}
}
}Done — I’ve added your cell phone number to the account as 616-555-0148.
Is there anything else I can help you with today?
No, that's it. Both items are done — the wellness rider removed and the cell number added. Thanks for taking care of that quickly.
⚙ end_conversation()
{}{
"ok": true,
"note": "Deliver your closing message now."
}You’re very welcome, Harold. Thanks for choosing PEICO — have a great day!