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 the exact new total ($458.34) and true savings ($102.83), and stored the phone number exactly as dictated (616-555-0148), with the auto policy untouched.
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 do two things today: first, I want to remove the wellness rider from my pet policy for Biscuit — I've done the math and I'm paying more for it than the routine vet visits actually cost. And second, I need to add my cell phone number to my account. Can we handle both of those?
Happy to help with both! To pull up the right records, could you give me your name or customer ID, plus the phone number you'd like added to your account?
Sure — I'm Harold Nyberg, account number EVG7782M3. And the cell number to add is six one six, five five five, zero one four eight.
⚙ query_db(SELECT cust_id, first_name, last_name, legacy_acct, email, phone, status FROM…)
{
"sql": "SELECT cust_id, first_name, last_name, legacy_acct, email, phone, status FROM customers WHERE legacy_acct = 'EVG7782M3'"
}{
"rows": [
{
"cust_id": "CUST-loyalty-oldgrowth",
"first_name": "Harold",
"last_name": "Nyberg",
"legacy_acct": "EVG7782M3",
"email": "harold.nyberg@example.com",
"phone": null,
"status": "CUSTOMER"
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT p.pet_id, p.name, p.species, p.breed, p.age, po.policy_id, pol.status,…)
{
"sql": "SELECT p.pet_id, p.name, p.species, p.breed, p.age, po.policy_id, pol.status, pol.line, pol.tier_id\nFROM pets p\nJOIN policy_objects po ON po.object_type='pet' AND po.object_id = p.pet_id\nJOIN policies pol ON pol.policy_id = po.policy_id\nWHERE p.cust_id = 'CUST-loyalty-oldgrowth'"
}{
"rows": [
{
"pet_id": "PET-loyalty-oldgrowth-pet1",
"name": "Biscuit",
"species": "DOG",
"breed": "Labrador",
"age": 5,
"policy_id": "POL-loyalty-oldgrowth-p_pet",
"status": "ACTIVE",
"line": "PET",
"tier_id": "PET:EVERGREEN"
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT pc.coverage_id, pc.value, pc.premium_contribution_cents, c.code, c.lab…)
{
"sql": "SELECT pc.coverage_id, pc.value, pc.premium_contribution_cents, c.code, c.label, c.kind\nFROM policy_coverages pc\nJOIN coverages c ON c.coverage_id = pc.coverage_id\nWHERE pc.policy_id = 'POL-loyalty-oldgrowth-p_pet'"
}{
"rows": [
{
"coverage_id": "PET:ANNUAL_MAX",
"value": "2000000",
"premium_contribution_cents": null,
"code": "ANNUAL_MAX",
"label": "Annual Benefit Limit",
"kind": "limit"
},
{
"coverage_id": "PET:DEDUCT",
"value": "10000",
"premium_contribution_cents": null,
"code": "DEDUCT",
"label": "Annual Deductible",
"kind": "deductible"
},
{
"coverage_id": "PET:DENTAL",
"value": "true",
"premium_contribution_cents": 6000,
"code": "DENTAL",
"label": "Dental Illness",
"kind": "flag"
},
{
"coverage_id": "PET:EXAM_FEE",
"value": "true",
"premium_contribution_cents": 2500,
"code": "EXAM_FEE",
"label": "Exam Fees",
"kind": "flag"
},
{
"coverage_id": "PET:REIMB_PCT",
"value": "0.9",
"premium_contribution_cents": null,
"code": "REIMB_PCT",
"label": "Reimbursement Percentage",
"kind": "feature"
},
{
"coverage_id": "PET:WELLNESS",
"value": "true",
"premium_contribution_cents": 12000,
"code": "WELLNESS",
"label": "Wellness/Routine Care",
"kind": "flag"
}
],
"row_count": 6,
"truncated": false
}⚙ query_db(SELECT * FROM tier_coverage_defaults WHERE tier_id = 'PET:EVERGREEN' AND cove…)
{
"sql": "SELECT * FROM tier_coverage_defaults WHERE tier_id = 'PET:EVERGREEN' AND coverage_id = 'PET:WELLNESS'"
}{
"rows": [
{
"tier_id": "PET:EVERGREEN",
"coverage_id": "PET:WELLNESS",
"included": 1,
"default_value": "true",
"editable": 1
}
],
"row_count": 1,
"truncated": false
}Good news — the wellness rider is editable on your plan. Let me confirm what I'm about to do:
- Remove the Wellness/Routine Care rider ($120/year contribution) from Biscuit's pet policy (POL-loyalty-oldgrowth-p_pet), then reprice the policy so your premium reflects the change.
- Add phone number 616-555-0148 to your account.
Shall I go ahead with both?
Perfect — yes, go ahead with both. And just to confirm on the savings: removing the wellness rider will drop my premium by $120 a year?
⚙ 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"
}⚙ 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"
]
}
}
]
}
}
}⚙ price_check(POL-loyalty-oldgrowth-p_pet)
{
"policy_id": "POL-loyalty-oldgrowth-p_pet"
}{
"as_of": "2025-01-20",
"facts": {
"line": "PET",
"tier": "EVERGREEN",
"region": "R-MW",
"state": "MI",
"term_months": 12,
"peico_risk": 800,
"age": 62,
"billing_plan": "PAY_IN_FULL",
"autopay": true,
"paperless": true,
"loyalty_tier": "OldGrowth",
"status": "CUSTOMER",
"has_bundle": false,
"active_lines": 2,
"is_new_first_policy": false,
"promo_code": null,
"coverages": [
"DENTAL",
"EXAM_FEE"
],
"species": "DOG",
"pet_age": 5,
"exposure_count": 1,
"reimburse_pct": 0.9
},
"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
}
]
}⚙ reprice_policy(POL-loyalty-oldgrowth-p_pet)
{
"policy_id": "POL-loyalty-oldgrowth-p_pet"
}{
"ok": true,
"as_of": "2025-01-20",
"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": {
"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}]"
]
}
}
]
}
}
}Both done! Here's the summary:
1. Wellness rider removed from Biscuit's policy — old final premium was $561.17/year, new final premium is $458.34/year, a savings of $102.83/year (not a flat $120). That's because the $120 wellness charge was applied before your paid-in-full, paperless, autopay, and loyalty discounts, so removing it also proportionally reduces some of the multiplicative discounts along with it — net effect works out to about $103/year rather than the full $120.
2. Phone number updated to 616-555-0148 on your account.
Anything else I can help with, Harold?
That makes sense — thanks for breaking that down. No, that covers it. I appreciate you getting both of those handled today. Thanks!
⚙ end_conversation()
{}{
"ok": true,
"note": "Deliver your closing message now."
}Take care!