GPT-5.4 mini (none)

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.

Failed: wrong DB end-statecustomer: Gloria Esposito · 11 turns · 32s · $0.03 · 104k tok in

Verdicts

DB end-statefailed
DB end-state did not match.
  expected: {}
  actual:   {"policies": {"changed": [{"pk": {"policy_id": "POL-fl-coastal-home-p_home"}, "fields": {"rating_as_of": ["2025-04-01", "2025-06-01"], "final_premium_cents": [526797, 514797], "premium_breakdown": ["[{\"step\": \"BASE\", \"code\": \"base\", \"detail\": \"$4.2/$1k \\u00d7 RC $520,000.0\", \"factor\": null, \"amount_cents\": null, \"running_cents\": 218400}, {\"step\": \"BASE\", \"code\": \"tier:SEQUOIA\", \"detail\": \"tier factor \\u00d71.55\", \"factor\": 1.55, \"amount_cents\": null, \"running_cents\": 338520}, {\"step\": \"BASE\", \"code\": \"region:R-SE\", \"detail\": \"region factor \\u00d71.45\", \"factor\": 1.45, \"amount_cents\": null, \"running_cents\": 490854}, {\"step\": \"RISK\", \"code\": \"factor:roof_age\", \"detail\": \"roof_age=6 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 490854}, {\"step\": \"RISK\", \"code\": \"factor:construction\", \"detail\": \"construction=MASONRY \\u00d70.95\", \"factor\": 0.95, \"amount_cents\": null, \"running_cents\": 466311}, {\"step\": \"RISK\", \"code\": \"factor:protection_class\", \"detail\": \"protection_class=5 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 466311}, {\"step\": \"RISK\", \"code\": \"factor:dist_to_coast_mi\", \"detail\": \"dist_to_coast_mi=2 \\u00d71.2\", \"factor\": 1.2, \"amount_cents\": null, \"running_cents\": 559573}, {\"step\": \"RISK\", \"code\": \"factor:risk_score\", \"detail\": \"risk_score=715 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 559573}, {\"step\": \"RISK\", \"code\": \"wind_hail_ded\", \"detail\": \"wind/hail ded 0.01 \\u00d71.0\", \"factor\": 1.0, \"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\": \"\\u2212$25\", \"factor\": null, \"amount_cents\": -2500, \"running_cents\": 571673}, {\"step\": \"DISCOUNT\", \"code\": \"AUTOPAY\", \"detail\": \"\\u22123%\", \"factor\": 0.97, \"amount_cents\": null, \"running_cents\": 554523}, {\"step\": \"DISCOUNT\", \"code\": \"LOYALTY\", \"detail\": \"\\u22125%\", \"factor\": 0.95, \"amount_cents\": null, \"running_cents\": 526797}]", "[{\"step\": \"BASE\", \"code\": \"base\", \"detail\": \"$4.2/$1k \\u00d7 RC $520,000.0\", \"factor\": null, \"amount_cents\": null, \"running_cents\": 218400}, {\"step\": \"BASE\", \"code\": \"tier:SEQUOIA\", \"detail\": \"tier factor \\u00d71.55\", \"factor\": 1.55, \"amount_cents\": null, \"running_cents\": 338520}, {\"step\": \"BASE\", \"code\": \"region:R-SE\", \"detail\": \"region factor \\u00d71.45\", \"factor\": 1.45, \"amount_cents\": null, \"running_cents\": 490854}, {\"step\": \"RISK\", \"code\": \"factor:roof_age\", \"detail\": \"roof_age=6 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 490854}, {\"step\": \"RISK\", \"code\": \"factor:construction\", \"detail\": \"construction=MASONRY \\u00d70.95\", \"factor\": 0.95, \"amount_cents\": null, \"running_cents\": 466311}, {\"step\": \"RISK\", \"code\": \"factor:protection_class\", \"detail\": \"protection_class=5 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 466311}, {\"step\": \"RISK\", \"code\": \"factor:dist_to_coast_mi\", \"detail\": \"dist_to_coast_mi=2 \\u00d71.2\", \"factor\": 1.2, \"amount_cents\": null, \"running_cents\": 559573}, {\"step\": \"RISK\", \"code\": \"factor:risk_score\", \"detail\": \"risk_score=715 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 559573}, {\"step\": \"RISK\", \"code\": \"wind_hail_ded\", \"detail\": \"wind/hail ded 0.01 \\u00d71.0\", \"factor\": 1.0, \"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\": \"\\u2212$25\", \"factor\": null, \"amount_cents\": -2500, \"running_cents\": 571673}, {\"step\": \"DISCOUNT\", \"code\": \"AUTOPAY\", \"detail\": \"\\u22123%\", \"factor\": 0.97, \"amount_cents\": null, \"running_cents\": 554523}, {\"step\": \"DISCOUNT\", \"code\": \"LOYALTY\", \"detail\": \"\\u22125%\", \"factor\": 0.95, \"amount_cents\": null, \"running_cents\": 526797}, {\"step\": \"PROMO\", \"code\": \"COASTALSHIELD\", \"detail\": \"\\u2212$120 (cap $120)\", \"factor\": null, \"amount_cents\": -12000, \"running_cents\": 514797}]"], "rating_inputs": ["{\"billing\": {\"plan\": \"INSTALLMENTS\", \"autopay\": true, \"paperless\": true}, \"incidents_5yr\": 0, \"smoker\": false, \"promo_code\": null}", "{\"billing\": {\"plan\": \"INSTALLMENTS\", \"autopay\": true, \"paperless\": true}, \"incidents_5yr\": 0, \"smoker\": false, \"promo_code\": \"COASTALSHIELD\"}"]}}]}}
Judge rubricpassed
judge: The rep correctly determined the policy qualifies for COASTALSHIELD, stated the benefit as a flat $120 credit (cap $120), and cited premiums matching her actual policy ($5,267.97 before, $5,147.97 after), consistent with the rubric's tolerance.

Conversation

Agent

Hi, thanks for contacting PEICO — this is the service desk. How can I help you today?

Customer

Hi! 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. I'm in Naples, pretty close to the coast, so I'm hoping I might be eligible.

Agent
query_db(SELECT doc_id, title, category, applies_to, body_md FROM kb_documents WHERE t…)
{
  "sql": "SELECT doc_id, title, category, applies_to, body_md FROM kb_documents WHERE title LIKE '%wind%' OR title LIKE '%coastal%' OR body_md LIKE '%wind resilience%' OR body_md LIKE '%coastal%' LIMIT 5"
}
{
  "rows": [
    {
      "doc_id": "KB-EVERGREEN-CLASSIC",
      "title": "Evergreen Classic (Home, retired 2018) — wind/hail math",
      "category": "UNDERWRITING",
      "applies_to": "{\"lines\": [\"HOME\"]}",
      "body_md": "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-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."
    }
  ],
  "row_count": 2,
  "truncated": false
}
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 p.policy_id, p.status, p.line, p.rating_as_of, p.final_premium_cents, …)
{
  "sql": "SELECT p.policy_id, p.status, p.line, p.rating_as_of, p.final_premium_cents, c.first_name, c.last_name, a.city, a.state, d.dist_to_coast_mi, d.type AS dwelling_type\nFROM policies p\nJOIN customers c ON c.cust_id = p.cust_id\nLEFT JOIN addresses a ON a.address_id = c.address_id\nLEFT JOIN dwellings d ON d.cust_id = c.cust_id\nWHERE c.first_name = 'Naples' OR a.city = 'Naples' OR a.state = 'FL'\nLIMIT 20"
}
{
  "rows": [
    {
      "policy_id": "POL-fl-coastal-home-p_home",
      "status": "ACTIVE",
      "line": "HOME",
      "rating_as_of": "2025-04-01",
      "final_premium_cents": 526797,
      "first_name": "Gloria",
      "last_name": "Esposito",
      "city": "Naples",
      "state": "FL",
      "dist_to_coast_mi": 2,
      "dwelling_type": "home"
    }
  ],
  "row_count": 1,
  "truncated": false
}

I found a home-policy promo that may fit: COASTALSHIELD, which the KB says is a $120 wind-resilience credit for HOME/CONDO policies in FL/GA/NC, with a minimum premium of $600.

I also found what appears to be your Naples, FL homeowner policy on file:

  • Policy: POL-fl-coastal-home-p_home
  • Status: Active
  • Current premium: $5,267.97
  • State: FL
  • Distance to coast: 2 miles

Based on those facts, the policy appears to be eligible for the promo on state/line and premium minimum grounds. I haven’t applied anything yet.

If you’d like, I can:

  1. check whether there are any additional underwriting restrictions that could affect it, and then
  2. apply the credit to the policy and reprice it.
20k in · 434 out · $0.0090 · 6.2s
Customer

Yes, that sounds good. Can you check those underwriting restrictions and let me know if there's anything that would block it? And just to be clear — that $120 credit, is that per year? And is that the most it can be, or could it be higher depending on something?

Agent
query_db(SELECT rule_id, line, tier_id, coverage_id, state, effect, condition, effecti…)
{
  "sql": "SELECT rule_id, line, tier_id, coverage_id, state, effect, condition, effective_start, effective_end, reason_doc, notes FROM eligibility_rules WHERE line IN ('HOME','CONDO') AND (notes LIKE '%coastal%' OR notes LIKE '%wind%' OR reason_doc LIKE '%COASTAL%' OR condition LIKE '%coast%' OR condition LIKE '%wind%') LIMIT 50"
}
{
  "rows": [],
  "row_count": 0,
  "truncated": false
}
search_kb(COASTALSHIELD underwriting restrictions wind resilience credit annual credit …)
{
  "query": "COASTALSHIELD underwriting restrictions wind resilience credit annual credit cap per year",
  "limit": 10
}
{
  "results": [
    {
      "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-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-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-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-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-DISC-FREELOOK",
      "title": "Free-look period",
      "category": "COMPLIANCE",
      "applies_to": "{\"lines\": [\"LIFE_T\", \"LIFE_W\", \"HLTH\"]}",
      "snippet": "The customer may cancel within the **free-look period** (30 days for life, 10 days\nfor supplemental health) after policy delivery for a full refund of premium paid.\nThe period and refund right must be disclosed at bind and recorded.\n"
    },
    {
      "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-UMBR-UNDERLYING",
      "title": "Umbrella requires an underlying policy",
      "category": "UNDERWRITING",
      "applies_to": "{\"lines\": [\"UMBR\"]}",
      "snippet": "A Personal Umbrella cannot be bound unless the household has an in-force underlying\n**AUTO or HOME** policy meeting minimum liability limits. Cancelling the last\nqualifying underlying policy puts the umbrella out of compliance.\n"
    },
    {
      "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"
    },
    {
      "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."
    }
  ]
}

I checked what I could from the underwriting/rules side, and I do not see a separate HOME/FL underwriting rule in the rule table that mentions this coastal credit.

What I did find in the KB is the promo term itself:

  • COASTALSHIELD
  • Applies to HOME/CONDO in FL/GA/NC
  • $120 wind-resilience credit
  • Cap: $120
  • Minimum premium: $600

So, to your questions:

  • Is it per year? The KB wording describes it as a credit tied to the policy. It does not say it stacks annually or repeats more than once per policy term, so I should not assume it’s yearly. I’d treat it as a one-time promo credit applied at rating unless the policy/rating system shows otherwise.
  • Can it be higher than $120? No — the KB explicitly says cap $120, so that’s the maximum.
  • Anything that blocks it? From what I found so far, your policy appears to fit the listed state/line and premium minimum. I did not find an additional documented blocker in the rule table.

If you want, I can go ahead and apply the promo to your policy and reprice it now.

18k in · 409 out · $0.0044 · 4.4s
Customer

Okay, so it's a one-time $120 credit, not annual — got it. That's helpful to know. Before you apply it, I have one more question: do you actually know if this credit will stick, or is there a chance something else in the system could flag it when you try to rate it? I just want to make sure this is actually going to go through before we do it.

Agent
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, retired_rider, 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,
      "retired_rider": 0,
      "doc_id": "KB-PROMO-COASTALSHIELD",
      "notes": "SE region only; intended for wind-mitigated dwellings."
    }
  ],
  "row_count": 1,
  "truncated": false
}
query_db(SELECT c.cust_id, c.first_name, c.last_name, a.state, a.region, d.dist_to_coa…)
{
  "sql": "SELECT c.cust_id, c.first_name, c.last_name, a.state, a.region, d.dist_to_coast_mi, d.protection_class, p.policy_id, p.line, p.status, p.final_premium_cents, p.rating_as_of\nFROM policies p\nJOIN customers c ON c.cust_id = p.cust_id\nLEFT JOIN addresses a ON a.address_id = c.address_id\nLEFT JOIN dwellings d ON d.cust_id = c.cust_id\nWHERE p.policy_id = 'POL-fl-coastal-home-p_home'"
}
{
  "rows": [
    {
      "cust_id": "CUST-fl-coastal-home",
      "first_name": "Gloria",
      "last_name": "Esposito",
      "state": "FL",
      "region": "R-SE",
      "dist_to_coast_mi": 2,
      "protection_class": 5,
      "policy_id": "POL-fl-coastal-home-p_home",
      "line": "HOME",
      "status": "ACTIVE",
      "final_premium_cents": 526797,
      "rating_as_of": "2025-04-01"
    }
  ],
  "row_count": 1,
  "truncated": false
}

Yes — based on what I can see, it looks like it should go through cleanly.

Here’s why I’m reasonably confident:

  • The promo record is active
  • It’s within the current window: 2025-05-01 through 2026-11-30
  • It applies to HOME in the relevant Southeast region
  • Your policy is a HOME policy in FL
  • The policy premium is well above the $600 minimum
  • The dwelling appears to be in a coastal area and the promo notes say it’s intended for wind-mitigated dwellings

What I can’t prove from the promo row alone is whether a hidden legacy rate-table quirk or a downstream rating validation would suppress the credit. But with the current data, I do not see a blocking rule or incompatibility in the tables/KB I checked.

So the practical answer is: yes, it appears likely to stick when rated. If you want, I can apply it now and reprice the policy. If the engine rejects or zeroes it out, I’ll tell you exactly what happened.

23k in · 430 out · $0.0046 · 4.5s
Customer

Alright, that makes sense. Go ahead and apply it, and let me know what the new premium comes out to.

Agent
apply_promo(POL-fl-coastal-home-p_home, COASTALSHIELD)
{
  "policy_id": "POL-fl-coastal-home-p_home",
  "promo_code": "COASTALSHIELD"
}
{
  "ok": true,
  "rows_affected": 1,
  "changeset": {
    "policies": {
      "changed": [
        {
          "pk": {
            "policy_id": "POL-fl-coastal-home-p_home"
          },
          "fields": {
            "rating_inputs": [
              "{\"billing\": {\"plan\": \"INSTALLMENTS\", \"autopay\": true, \"paperless\": true}, \"incidents_5yr\": 0, \"smoker\": false, \"promo_code\": null}",
              "{\"billing\": {\"plan\": \"INSTALLMENTS\", \"autopay\": true, \"paperless\": true}, \"incidents_5yr\": 0, \"smoker\": false, \"promo_code\": \"COASTALSHIELD\"}"
            ]
          }
        }
      ]
    }
  },
  "note": "stored premium is now stale — call reprice_policy to recompute"
}
reprice_policy(POL-fl-coastal-home-p_home, 2025-06-01)
{
  "policy_id": "POL-fl-coastal-home-p_home",
  "as_of": "2025-06-01"
}
{
  "ok": true,
  "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
    }
  ],
  "changeset": {
    "policies": {
      "changed": [
        {
          "pk": {
            "policy_id": "POL-fl-coastal-home-p_home"
          },
          "fields": {
            "rating_as_of": [
              "2025-04-01",
              "2025-06-01"
            ],
            "final_premium_cents": [
              526797,
              514797
            ],
            "premium_breakdown": [
              "[{\"step\": \"BASE\", \"code\": \"base\", \"detail\": \"$4.2/$1k \\u00d7 RC $520,000.0\", \"factor\": null, \"amount_cents\": null, \"running_cents\": 218400}, {\"step\": \"BASE\", \"code\": \"tier:SEQUOIA\", \"detail\": \"tier factor \\u00d71.55\", \"factor\": 1.55, \"amount_cents\": null, \"running_cents\": 338520}, {\"step\": \"BASE\", \"code\": \"region:R-SE\", \"detail\": \"region factor \\u00d71.45\", \"factor\": 1.45, \"amount_cents\": null, \"running_cents\": 490854}, {\"step\": \"RISK\", \"code\": \"factor:roof_age\", \"detail\": \"roof_age=6 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 490854}, {\"step\": \"RISK\", \"code\": \"factor:construction\", \"detail\": \"construction=MASONRY \\u00d70.95\", \"factor\": 0.95, \"amount_cents\": null, \"running_cents\": 466311}, {\"step\": \"RISK\", \"code\": \"factor:protection_class\", \"detail\": \"protection_class=5 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 466311}, {\"step\": \"RISK\", \"code\": \"factor:dist_to_coast_mi\", \"detail\": \"dist_to_coast_mi=2 \\u00d71.2\", \"factor\": 1.2, \"amount_cents\": null, \"running_cents\": 559573}, {\"step\": \"RISK\", \"code\": \"factor:risk_score\", \"detail\": \"risk_score=715 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 559573}, {\"step\": \"RISK\", \"code\": \"wind_hail_ded\", \"detail\": \"wind/hail ded 0.01 \\u00d71.0\", \"factor\": 1.0, \"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\": \"\\u2212$25\", \"factor\": null, \"amount_cents\": -2500, \"running_cents\": 571673}, {\"step\": \"DISCOUNT\", \"code\": \"AUTOPAY\", \"detail\": \"\\u22123%\", \"factor\": 0.97, \"amount_cents\": null, \"running_cents\": 554523}, {\"step\": \"DISCOUNT\", \"code\": \"LOYALTY\", \"detail\": \"\\u22125%\", \"factor\": 0.95, \"amount_cents\": null, \"running_cents\": 526797}]",
              "[{\"step\": \"BASE\", \"code\": \"base\", \"detail\": \"$4.2/$1k \\u00d7 RC $520,000.0\", \"factor\": null, \"amount_cents\": null, \"running_cents\": 218400}, {\"step\": \"BASE\", \"code\": \"tier:SEQUOIA\", \"detail\": \"tier factor \\u00d71.55\", \"factor\": 1.55, \"amount_cents\": null, \"running_cents\": 338520}, {\"step\": \"BASE\", \"code\": \"region:R-SE\", \"detail\": \"region factor \\u00d71.45\", \"factor\": 1.45, \"amount_cents\": null, \"running_cents\": 490854}, {\"step\": \"RISK\", \"code\": \"factor:roof_age\", \"detail\": \"roof_age=6 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 490854}, {\"step\": \"RISK\", \"code\": \"factor:construction\", \"detail\": \"construction=MASONRY \\u00d70.95\", \"factor\": 0.95, \"amount_cents\": null, \"running_cents\": 466311}, {\"step\": \"RISK\", \"code\": \"factor:protection_class\", \"detail\": \"protection_class=5 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 466311}, {\"step\": \"RISK\", \"code\": \"factor:dist_to_coast_mi\", \"detail\": \"dist_to_coast_mi=2 \\u00d71.2\", \"factor\": 1.2, \"amount_cents\": null, \"running_cents\": 559573}, {\"step\": \"RISK\", \"code\": \"factor:risk_score\", \"detail\": \"risk_score=715 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 559573}, {\"step\": \"RISK\", \"code\": \"wind_hail_ded\", \"detail\": \"wind/hail ded 0.01 \\u00d71.0\", \"factor\": 1.0, \"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\": \"\\u2212$25\", \"factor\": null, \"amount_cents\": -2500, \"running_cents\": 571673}, {\"step\": \"DISCOUNT\", \"code\": \"AUTOPAY\", \"detail\": \"\\u22123%\", \"factor\": 0.97, \"amount_cents\": null, \"running_cents\": 554523}, {\"step\": \"DISCOUNT\", \"code\": \"LOYALTY\", \"detail\": \"\\u22125%\", \"factor\": 0.95, \"amount_cents\": null, \"running_cents\": 526797}, {\"step\": \"PROMO\", \"code\": \"COASTALSHIELD\", \"detail\": \"\\u2212$120 (cap $120)\", \"factor\": null, \"amount_cents\": -12000, \"running_cents\": 514797}]"
            ]
          }
        }
      ]
    }
  }
}

Done — the promo applied and the policy repriced successfully.

New premium: $5,147.97

What changed:

  • Before promo: $5,267.97
  • CoastalShield credit: -$120.00
  • After promo: $5,147.97

So yes, it did stick in the system.

19k in · 156 out · $0.0064 · 2.4s
Customer

Perfect, that's exactly what I needed to know. So I'm saving $120 total on the policy — that's clear. Thanks for checking those restrictions and getting me the actual number instead of just the marketing pitch. I appreciate it.

Agent
end_conversation()
{}
{
  "ok": true,
  "note": "Deliver your closing message now."
}

You’re very welcome — glad I could verify it and get you the real number.

If you need anything else with the policy later, just reach out.

23k in · 48 out · $0.0094 · 1.9s