coastalshield-eligibility
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 the customer's home policy QUALIFIES for the COASTALSHIELD coastal wind-resilience credit (a Southeast-region home policy, offer window open, premium above the minimum) and stated the benefit correctly as $120. Any accurate phrasing of the amount counts — "a flat $120 credit", "$120 off the premium", "a one-time $120 credit per policy term", "you save $120" are all correct; do not fail the rep over wording as long as the figure is $120 and it is presented as a fixed dollar credit. Telling her she does not qualify is a fail. Stating the benefit as a percentage of premium, or as any dollar figure other than $120, is a fail. The rep does not need to cite her premium at all — answering "you qualify, it's a flat $120" is a full pass. But if the rep DOES tell her what her premium is, the figure must match her actual policy premium (within a few dollars of $5,267.97 without the credit / $5,147.97 with it). Citing a materially different number as her premium — e.g. ~$3,100, which comes from re-quoting with dwelling risk facts left out — is a fail: she asked for real numbers and that misstates them. Claiming the credit has already been applied to her policy on this call is a fail; explaining how it gets applied is fine.
Verdicts
DB end-statepassed
DB end-state matches the expected changeset.
Judge rubricpassed
judge: The rep correctly stated the customer qualifies, cited the accurate premium figures ($5,267.97 and $5,147.97, matching the reference within a few dollars), and correctly presented the benefit as a flat $120 credit without falsely claiming it had already been applied.
Conversation
Hi, thanks for contacting PEICO — this is the service desk. How can I help you today?
Hi, thanks for picking up. I saw an ad about a coastal wind resilience credit for PEICO homeowners, and I wanted to find out if my policy qualifies for it and how much I'd actually save.
I'd be happy to look into that for you. First, I need to verify your identity before I can access your account.
Could you please provide me with your name and one of the following: your email on file, your phone number, or your date of birth?
Sure, my name is Gloria Esposito. My email on file is gloria.esposito@example.com.
⚙ query_db(SELECT cust_id, first_name, last_name, email, phone, dob, address_id, peico_r…)
{
"sql": "SELECT cust_id, first_name, last_name, email, phone, dob, address_id, peico_risk FROM customers WHERE lower(email) = 'gloria.esposito@example.com'"
}{
"rows": [
{
"cust_id": "CUST-fl-coastal-home",
"first_name": "Gloria",
"last_name": "Esposito",
"email": "gloria.esposito@example.com",
"phone": null,
"dob": "1969-07-19",
"address_id": "ADDR-fl-coastal-home",
"peico_risk": 715
}
],
"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.rating_as_of, p.final_premium_cents\nFROM policies p WHERE p.cust_id = 'CUST-fl-coastal-home'"
}{
"rows": [
{
"policy_id": "POL-fl-coastal-home-p_home",
"line": "HOME",
"tier_id": "HOME:SEQUOIA",
"status": "ACTIVE",
"effective_date": "2025-04-01",
"expiration_date": "2026-04-01",
"rating_as_of": "2025-04-01",
"final_premium_cents": 526797
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT d.discount_id, d.code, d.label, d.effect, d.eligibility, d.notes FROM …)
{
"sql": "SELECT d.discount_id, d.code, d.label, d.effect, d.eligibility, d.notes FROM discounts d WHERE lower(d.label) LIKE '%wind%' OR lower(d.code) LIKE '%wind%' OR lower(d.label) LIKE '%coastal%' OR lower(d.notes) LIKE '%wind%'"
}{
"rows": [],
"row_count": 0,
"truncated": false
}⚙ search_kb(coastal wind resilience credit homeowners)
{
"query": "coastal wind resilience credit homeowners"
}{
"results": [
{
"doc_id": "KB-PROMO-COASTALSHIELD",
"title": "COASTALSHIELD terms",
"category": "PROMO",
"applies_to": "{\"lines\": [\"HOME\", \"CONDO\"], \"states\": [\"FL\", \"GA\", \"NC\"]}",
"snippet": "$120 wind-resilience credit for Southeast home/condo policies. Cap $120; min premium $600."
},
{
"doc_id": "KB-EVERGREEN-CLASSIC",
"title": "Evergreen Classic (Home, retired 2018) — wind/hail math",
"category": "UNDERWRITING",
"applies_to": "{\"lines\": [\"HOME\"]}",
"snippet": "Retired 2018-01-01. Uses a legacy flat-capped wind/hail deductible (1.5% of\ndwelling, capped) rather than the current percentage math. Not re-bindable.\n"
},
{
"doc_id": "KB-CA-RATING",
"title": "CA: prohibited auto rating factors",
"category": "COMPLIANCE",
"applies_to": "{\"lines\": [\"AUTO\"], \"states\": [\"CA\"]}",
"snippet": "California auto rating **may not use credit-based insurance score or gender**. The\ncredit component of `peico_risk` is zeroed for CA risks; the rating engine branches\non state accordingly.\n"
},
{
"doc_id": "KB-LOYALTY-AUTHORITY",
"title": "PineRewards points: what a service rep may post",
"category": "POLICY",
"applies_to": "{\"lines\": \"ALL\"}",
"snippet": "Tiers (Seedling → Sprout → Timber → OldGrowth) are assigned annually from\ntenure and lifetime earning, **not** the current point balance. Points earned\n2019 or later expire **24 months** after the earn date; older entries were\nwritten witho…"
},
{
"doc_id": "KB-PROMO-SPRINGSAVE25",
"title": "SPRINGSAVE25 terms",
"category": "PROMO",
"applies_to": "{\"lines\": [\"AUTO\"]}",
"snippet": "$75 off auto in the Midwest/Southwest, spring 2025 only. Offer window 2025-03-20 through 2025-06-21; does not apply after 2025-06-21. Applicability is determined by the offer window as of the quote date."
},
{
"doc_id": "KB-FL-HURRICANE",
"title": "FL: separate hurricane deductible",
"category": "COMPLIANCE",
"applies_to": "{\"lines\": [\"HOME\"], \"states\": [\"FL\"]}",
"snippet": "Florida homeowners policies carry a **separate hurricane deductible** expressed as\na percentage of the dwelling limit, distinct from the flat all-peril deductible.\nIt must be set explicitly before binding.\n"
}
]
}⚙ get_doc(KB-PROMO-COASTALSHIELD)
{
"doc_id": "KB-PROMO-COASTALSHIELD"
}{
"doc_id": "KB-PROMO-COASTALSHIELD",
"title": "COASTALSHIELD terms",
"category": "PROMO",
"applies_to": "{\"lines\": [\"HOME\", \"CONDO\"], \"states\": [\"FL\", \"GA\", \"NC\"]}",
"body_md": "$120 wind-resilience credit for Southeast home/condo policies. Cap $120; min premium $600."
}⚙ query_db(SELECT promo_code, label, scope, window_start, window_end, effect, stacks_wit…)
{
"sql": "SELECT promo_code, label, scope, window_start, window_end, effect, stacks_with, caps, active, doc_id, notes FROM promotions WHERE promo_code = 'COASTALSHIELD'"
}{
"rows": [
{
"promo_code": "COASTALSHIELD",
"label": "Coastal Wind Resilience Credit",
"scope": "{\"lines\": [\"HOME\", \"CONDO\"], \"regions\": [\"R-SE\"], \"customer\": \"ANY\"}",
"window_start": "2025-05-01",
"window_end": "2026-11-30",
"effect": "{\"type\": \"DOLLARS_OFF\", \"value\": 120}",
"stacks_with": "[\"DISC-MULTILINE\"]",
"caps": "{\"max_benefit_usd\": 120, \"min_premium_floor_usd\": 600}",
"active": 1,
"doc_id": "KB-PROMO-COASTALSHIELD",
"notes": "SE region only; intended for wind-mitigated dwellings."
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT a.state, a.region, a.zip, a.city FROM addresses a WHERE a.address_id =…)
{
"sql": "SELECT a.state, a.region, a.zip, a.city FROM addresses a WHERE a.address_id = 'ADDR-fl-coastal-home'"
}{
"rows": [
{
"state": "FL",
"region": "R-SE",
"zip": "34102",
"city": "Naples"
}
],
"row_count": 1,
"truncated": false
}⚙ price_check(POL-fl-coastal-home-p_home)
{
"policy_id": "POL-fl-coastal-home-p_home"
}{
"as_of": "2025-04-01",
"facts": {
"line": "HOME",
"tier": "SEQUOIA",
"region": "R-SE",
"state": "FL",
"term_months": 12,
"peico_risk": 715,
"age": 55,
"billing_plan": "INSTALLMENTS",
"autopay": true,
"paperless": true,
"loyalty_tier": "Timber",
"status": "CUSTOMER",
"has_bundle": false,
"active_lines": 1,
"is_new_first_policy": false,
"promo_code": null,
"coverages": [
"SERVICE_LN",
"WATER_BACK"
],
"replacement_cost": 520000,
"roof_age": 6,
"construction": "MASONRY",
"protection_class": 5,
"dist_to_coast_mi": 2,
"wind_hail_deductible": 0.01
},
"base_premium_cents": 574173,
"final_premium_cents": 526797,
"breakdown": [
{
"step": "BASE",
"code": "base",
"detail": "$4.2/$1k × RC $520,000.0",
"factor": null,
"amount_cents": null,
"running_cents": 218400
},
{
"step": "BASE",
"code": "tier:SEQUOIA",
"detail": "tier factor ×1.55",
"factor": 1.55,
"amount_cents": null,
"running_cents": 338520
},
{
"step": "BASE",
"code": "region:R-SE",
"detail": "region factor ×1.45",
"factor": 1.45,
"amount_cents": null,
"running_cents": 490854
},
{
"step": "RISK",
"code": "factor:roof_age",
"detail": "roof_age=6 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 490854
},
{
"step": "RISK",
"code": "factor:construction",
"detail": "construction=MASONRY ×0.95",
"factor": 0.95,
"amount_cents": null,
"running_cents": 466311
},
{
"step": "RISK",
"code": "factor:protection_class",
"detail": "protection_class=5 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 466311
},
{
"step": "RISK",
"code": "factor:dist_to_coast_mi",
"detail": "dist_to_coast_mi=2 ×1.2",
"factor": 1.2,
"amount_cents": null,
"running_cents": 559573
},
{
"step": "RISK",
"code": "factor:risk_score",
"detail": "risk_score=715 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 559573
},
{
"step": "RISK",
"code": "wind_hail_ded",
"detail": "wind/hail ded 0.01 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 559573
},
{
"step": "COVERAGE",
"code": "SERVICE_LN",
"detail": "+ SERVICE_LN $30",
"factor": null,
"amount_cents": 3000,
"running_cents": 562573
},
{
"step": "COVERAGE",
"code": "WATER_BACK",
"detail": "+ WATER_BACK $55",
"factor": null,
"amount_cents": 5500,
"running_cents": 568073
},
{
"step": "FEES",
"code": "policy_fee",
"detail": "+ policy fee",
"factor": null,
"amount_cents": 2500,
"running_cents": 570573
},
{
"step": "FEES",
"code": "installment",
"detail": "+ fractional-pay surcharge",
"factor": null,
"amount_cents": 3600,
"running_cents": 574173
},
{
"step": "DISCOUNT",
"code": "PAPERLESS",
"detail": "−$25",
"factor": null,
"amount_cents": -2500,
"running_cents": 571673
},
{
"step": "DISCOUNT",
"code": "AUTOPAY",
"detail": "−3%",
"factor": 0.97,
"amount_cents": null,
"running_cents": 554523
},
{
"step": "DISCOUNT",
"code": "LOYALTY",
"detail": "−5%",
"factor": 0.95,
"amount_cents": null,
"running_cents": 526797
}
]
}⚙ quote({"line":"HOME","tier":"SEQUOIA","region":"R-SE","state":"FL","term_months":12…)
{
"facts": {
"line": "HOME",
"tier": "SEQUOIA",
"region": "R-SE",
"state": "FL",
"term_months": 12,
"peico_risk": 715,
"age": 55,
"billing_plan": "INSTALLMENTS",
"autopay": true,
"paperless": true,
"loyalty_tier": "Timber",
"status": "CUSTOMER",
"has_bundle": false,
"active_lines": 1,
"is_new_first_policy": false,
"promo_code": "COASTALSHIELD",
"coverages": [
"SERVICE_LN",
"WATER_BACK"
],
"replacement_cost": 520000,
"roof_age": 6,
"construction": "MASONRY",
"protection_class": 5,
"dist_to_coast_mi": 2,
"wind_hail_deductible": 0.01
},
"as_of": "2025-06-01"
}{
"as_of": "2025-06-01",
"base_premium_cents": 574173,
"final_premium_cents": 514797,
"breakdown": [
{
"step": "BASE",
"code": "base",
"detail": "$4.2/$1k × RC $520,000.0",
"factor": null,
"amount_cents": null,
"running_cents": 218400
},
{
"step": "BASE",
"code": "tier:SEQUOIA",
"detail": "tier factor ×1.55",
"factor": 1.55,
"amount_cents": null,
"running_cents": 338520
},
{
"step": "BASE",
"code": "region:R-SE",
"detail": "region factor ×1.45",
"factor": 1.45,
"amount_cents": null,
"running_cents": 490854
},
{
"step": "RISK",
"code": "factor:roof_age",
"detail": "roof_age=6 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 490854
},
{
"step": "RISK",
"code": "factor:construction",
"detail": "construction=MASONRY ×0.95",
"factor": 0.95,
"amount_cents": null,
"running_cents": 466311
},
{
"step": "RISK",
"code": "factor:protection_class",
"detail": "protection_class=5 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 466311
},
{
"step": "RISK",
"code": "factor:dist_to_coast_mi",
"detail": "dist_to_coast_mi=2 ×1.2",
"factor": 1.2,
"amount_cents": null,
"running_cents": 559573
},
{
"step": "RISK",
"code": "factor:risk_score",
"detail": "risk_score=715 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 559573
},
{
"step": "RISK",
"code": "wind_hail_ded",
"detail": "wind/hail ded 0.01 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 559573
},
{
"step": "COVERAGE",
"code": "SERVICE_LN",
"detail": "+ SERVICE_LN $30",
"factor": null,
"amount_cents": 3000,
"running_cents": 562573
},
{
"step": "COVERAGE",
"code": "WATER_BACK",
"detail": "+ WATER_BACK $55",
"factor": null,
"amount_cents": 5500,
"running_cents": 568073
},
{
"step": "FEES",
"code": "policy_fee",
"detail": "+ policy fee",
"factor": null,
"amount_cents": 2500,
"running_cents": 570573
},
{
"step": "FEES",
"code": "installment",
"detail": "+ fractional-pay surcharge",
"factor": null,
"amount_cents": 3600,
"running_cents": 574173
},
{
"step": "DISCOUNT",
"code": "PAPERLESS",
"detail": "−$25",
"factor": null,
"amount_cents": -2500,
"running_cents": 571673
},
{
"step": "DISCOUNT",
"code": "AUTOPAY",
"detail": "−3%",
"factor": 0.97,
"amount_cents": null,
"running_cents": 554523
},
{
"step": "DISCOUNT",
"code": "LOYALTY",
"detail": "−5%",
"factor": 0.95,
"amount_cents": null,
"running_cents": 526797
},
{
"step": "PROMO",
"code": "COASTALSHIELD",
"detail": "−$120 (cap $120)",
"factor": null,
"amount_cents": -12000,
"running_cents": 514797
}
]
}Here's the exact impact:
- Current annual premium: $5,267.97
- With COASTALSHIELD applied: $5,147.97
- You save: $120.00 for the year (the full credit — it's a flat $120 off, capped at $120)
Everything qualifies: HOME line, Southeast region (Naples, FL), you're well above the $600 minimum premium, and we're inside the offer window (May 1, 2025 – Nov 30, 2026).
Would you like me to apply the COASTALSHIELD credit to your policy now?
Thanks for that breakdown. Just to clarify — is that $120 per year, and is that the most the credit can be?
Yes to both:
- It's a one-time $120 off your annual premium — applied once per policy term, not per month. On your policy it brings the yearly total from $5,267.97 down to $5,147.97.
- $120 is the maximum. The credit is a flat $120 with a hard cap of $120 — it can't go higher regardless of your premium size or wind-mitigation features.
One thing worth noting: it's tied to the offer window (through Nov 30, 2026), so it would re-apply as long as the promo is still active and attached at your next renewal — but it's not a compounding or per-item discount.
Would you like me to apply it to your policy now?
Perfect, that answers my question. I appreciate you getting me the actual numbers. I don't need to finalize anything today, but I have what I needed. Thanks for your help!
⚙ end_conversation()
{}{
"ok": true,
"note": "Deliver your closing message now."
}Thanks again for contacting PEICO, Gloria — have a wonderful day!