welcome15-prospect-bind-chain
Grading criteriawhat this conversation was scored against
DB end-state
{
"policies": {
"changed": [
{
"pk": {
"policy_id": "POL-prospect-il-auto-q2_auto"
},
"fields": {
"rating_inputs": [
"*",
"*"
],
"final_premium_cents": [
73018,
62065
],
"premium_breakdown": [
"*",
"*"
],
"status": [
"QUOTE",
"ACTIVE"
],
"expiration_date": [
null,
"2026-06-01"
]
},
"may_change": {
"rating_as_of": [
"*",
"*"
]
}
}
]
}
}Judge rubric
The rep completed the whole chain on this call: (1) recognized the customer qualifies for WELCOME15 (a brand-new customer binding his first policy, auto line, promo active and in window) — telling him he doesn't qualify is a fail; (2) attached the promo AND repriced so the discount actually landed, quoting the honest discounted figure (about $620.65/yr, down from $730.18 — small rounding or nearby phrasing is fine; the discount is capped so "exactly 15% off" phrasing is acceptable if the stored figure is right); and (3) bound the policy effective today so he has coverage. Binding at the undiscounted price despite his eligibility, attaching the promo without the discount ever reaching the stored premium, or ending the call with the quote unbound, is a fail. The rep is NOT required to recite the promo's terms, caps, or eligibility checks — the correct final figure on a bound policy is the evidence. Judge the FINAL spoken figures only (about $620.65, and/or savings of about $109.53 from $730.18). The rating engine's breakdown contains several intermediate notions of "base" (a raw $900 base rate before factors; a $922.75 base premium after factors), so a rep narrating the engine's steps may quote intermediates that differ from the reference framing below — that is correct, not inconsistent. Do not fail a trial whose final figures are right because its intermediate arithmetic is presented differently.
Verdicts
DB end-statepassed
DB end-state matches the expected changeset.
Judge rubricpassed
judge: The rep correctly recognized eligibility, applied WELCOME15, quoted the honest discounted figure ($620.65 from $730.18, saving $109.53), and bound the policy effective today.
Conversation
Hi, thanks for contacting PEICO — this is the service desk. How can I help you today?
Hey, thanks for picking up. I'm Aaron Halloway — I've got a quote on file for my 2019 Honda Civic and I'm ready to move forward with it today. But before we finalize, I saw your "WELCOME15" ad promising new customers 15% off, and I want to make sure that discount gets applied first. Can you help me with that?
⚙ query_db(SELECT * FROM customers WHERE first_name = 'Aaron' AND last_name = 'Halloway')
{
"sql": "SELECT * FROM customers WHERE first_name = 'Aaron' AND last_name = 'Halloway'"
}{
"rows": [
{
"cust_id": "CUST-prospect-il-auto",
"legacy_acct": null,
"legacy_mismatch": 0,
"status": "PROSPECT",
"first_name": "Aaron",
"last_name": "Halloway",
"dob": "1992-08-04",
"email": "aaron.halloway@example.com",
"phone": null,
"address_id": "ADDR-prospect-il-auto",
"peico_risk": 702,
"risk_components": "{\"prior_claims\": {\"value\": 0, \"points\": 0}, \"late_payments\": {\"value\": 0, \"points\": 0}, \"tenure\": {\"value\": 0, \"points\": 0}, \"credit\": {\"value\": 705, \"points\": 2, \"weight\": 1, \"masked\": false, \"note\": null}}",
"tenure_start": null,
"loyalty_tier": null,
"loyalty_points": 0,
"created_at": "2025-06-01"
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT * FROM policies WHERE cust_id = 'CUST-prospect-il-auto')
{
"sql": "SELECT * FROM policies WHERE cust_id = 'CUST-prospect-il-auto'"
}{
"rows": [
{
"policy_id": "POL-prospect-il-auto-q2_auto",
"cust_id": "CUST-prospect-il-auto",
"line": "AUTO",
"tier_id": "AUTO:PINE",
"status": "QUOTE",
"effective_date": "2025-06-01",
"expiration_date": null,
"term_months": 12,
"rating_as_of": "2025-05-29",
"base_premium_cents": 92275,
"final_premium_cents": 73018,
"premium_breakdown": "[]",
"rating_inputs": "{\"billing\": {\"plan\": \"PAY_IN_FULL\", \"autopay\": false, \"paperless\": true}, \"incidents_5yr\": 0}",
"underlying_policy_id": null,
"bundle_id": null,
"rep_id": "REP-1001",
"created_at": "2025-05-29"
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT * FROM policy_objects WHERE policy_id = 'POL-prospect-il-auto-q2_auto')
{
"sql": "SELECT * FROM policy_objects WHERE policy_id = 'POL-prospect-il-auto-q2_auto'"
}{
"rows": [
{
"policy_id": "POL-prospect-il-auto-q2_auto",
"object_type": "vehicle",
"object_id": "VEH-prospect-il-auto-v1"
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT * FROM vehicles WHERE vehicle_id = 'VEH-prospect-il-auto-v1')
{
"sql": "SELECT * FROM vehicles WHERE vehicle_id = 'VEH-prospect-il-auto-v1'"
}{
"rows": [
{
"vehicle_id": "VEH-prospect-il-auto-v1",
"cust_id": "CUST-prospect-il-auto",
"year": 2019,
"make": "Honda",
"model": "Civic",
"vin": "VINFAKEPROv1",
"usage": "COMMUTE",
"annual_miles": 14000,
"financed": 1,
"garaging_address_id": "ADDR-prospect-il-auto"
}
],
"row_count": 1,
"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 pc.coverage_id = c.coverage_id WHERE pc.policy_id = 'POL-prospect-il-auto-q2_auto'"
}{
"rows": [
{
"coverage_id": "AUTO:BI",
"code": "BI",
"label": "Bodily Injury Liability",
"value": "5000000/10000000",
"premium_contribution_cents": null
},
{
"coverage_id": "AUTO:COLL",
"code": "COLL",
"label": "Collision",
"value": "100000",
"premium_contribution_cents": null
},
{
"coverage_id": "AUTO:COMP",
"code": "COMP",
"label": "Comprehensive",
"value": "50000",
"premium_contribution_cents": null
},
{
"coverage_id": "AUTO:PD",
"code": "PD",
"label": "Property Damage Liability",
"value": "5000000",
"premium_contribution_cents": null
}
],
"row_count": 4,
"truncated": false
}⚙ query_db(SELECT * FROM promotions WHERE promo_code = 'WELCOME15')
{
"sql": "SELECT * FROM promotions WHERE promo_code = 'WELCOME15'"
}{
"rows": [
{
"promo_code": "WELCOME15",
"label": "New-Customer Welcome 15%",
"scope": "{\"lines\": [\"AUTO\", \"HOME\", \"RENT\", \"CONDO\", \"PET\"], \"regions\": \"ALL\", \"customer\": \"NEW_FIRST_POLICY\"}",
"window_start": "2025-01-01",
"window_end": "2026-12-31",
"effect": "{\"type\": \"PCT_OFF\", \"value\": 0.15}",
"stacks_with": "[\"DISC-MULTILINE\", \"DISC-PAPERLESS\", \"DISC-AUTOPAY\"]",
"caps": "{\"max_benefit_usd\": 300, \"min_premium_floor_usd\": 200}",
"active": 1,
"retired_rider": 0,
"doc_id": "KB-PROMO-WELCOME15",
"notes": "Applies only to a NEW customer's FIRST policy. Does not stack with SPRINGSAVE."
}
],
"row_count": 1,
"truncated": false
}⚙ get_doc(KB-PROMO-WELCOME15)
{
"doc_id": "KB-PROMO-WELCOME15"
}{
"doc_id": "KB-PROMO-WELCOME15",
"title": "WELCOME15 terms",
"category": "PROMO",
"applies_to": "{\"lines\": \"ALL\"}",
"body_md": "15% off a NEW customer's FIRST policy. Cap $300; min premium $200. Not for existing customers or second policies."
}⚙ query_db(SELECT * FROM addresses WHERE address_id = 'ADDR-prospect-il-auto')
{
"sql": "SELECT * FROM addresses WHERE address_id = 'ADDR-prospect-il-auto'"
}{
"rows": [
{
"address_id": "ADDR-prospect-il-auto",
"line1": "118 Birch Ln",
"city": "Naperville",
"state": "IL",
"zip": "60540",
"region": "R-MW"
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT * FROM eligibility_rules WHERE line = 'AUTO' AND (state = 'IL' OR stat…)
{
"sql": "SELECT * FROM eligibility_rules WHERE line = 'AUTO' AND (state = 'IL' OR state IS NULL OR state = 'ALL')"
}{
"rows": [
{
"rule_id": "ELIG-AUTO-GAP-FINANCED",
"line": "AUTO",
"tier_id": null,
"coverage_id": "AUTO:GAP",
"state": null,
"effect": "GATE",
"condition": "vehicle_financed",
"effective_start": null,
"effective_end": null,
"reason_doc": "KB-AUTO-GAP",
"notes": "GAP eligible only when the vehicle is financed/leased."
},
{
"rule_id": "ELIG-AUTO-OEM-SEQUOIA",
"line": "AUTO",
"tier_id": "AUTO:SEQUOIA",
"coverage_id": "AUTO:OEM",
"state": null,
"effect": "GATE",
"condition": "tier_is_sequoia",
"effective_start": null,
"effective_end": null,
"reason_doc": "KB-AUTO-TIERS",
"notes": "OEM parts guarantee is Sequoia-only on sellable tiers."
},
{
"rule_id": "ELIG-AUTO-MED-EVERGREEN",
"line": "AUTO",
"tier_id": null,
"coverage_id": "AUTO:MED",
"state": null,
"effect": "GATE",
"condition": "tier_position_gte_evergreen",
"effective_start": null,
"effective_end": null,
"reason_doc": "KB-AUTO-TIERS",
"notes": "Medical Payments available Evergreen and above."
}
],
"row_count": 3,
"truncated": false
}⚙ query_db(SELECT * FROM required_disclosures WHERE line = 'AUTO' AND (state = 'IL' OR s…)
{
"sql": "SELECT * FROM required_disclosures WHERE line = 'AUTO' AND (state = 'IL' OR state IS NULL OR state = 'ALL')"
}{
"rows": [
{
"disclosure_id": "DISC-AUTO-UMUIM",
"line": "AUTO",
"code": "UMUIM_SELECTION",
"title": "Uninsured/Underinsured Motorist selection or rejection",
"when_required": "AT_BIND",
"free_look_days": null,
"mandatory": 1,
"state": null,
"condition": null,
"doc_id": "KB-DISC-UMUIM"
}
],
"row_count": 1,
"truncated": false
}⚙ get_doc(KB-DISC-UMUIM)
{
"doc_id": "KB-DISC-UMUIM"
}{
"doc_id": "KB-DISC-UMUIM",
"title": "UM/UIM selection or rejection",
"category": "COMPLIANCE",
"applies_to": "{\"lines\": [\"AUTO\"]}",
"body_md": "The customer must affirmatively **select or reject** Uninsured/Underinsured Motorist\ncoverage; the choice (and limits, if selected) is disclosed and recorded at bind.\nSome states mandate UM/UIM at or above the BI limit.\n"
}⚙ query_db(SELECT * FROM coverages WHERE line = 'AUTO')
{
"sql": "SELECT * FROM coverages WHERE line = 'AUTO'"
}{
"rows": [
{
"coverage_id": "AUTO:BI",
"line": "AUTO",
"code": "BI",
"label": "Bodily Injury Liability",
"kind": "limit",
"unit": "usd_split",
"notes": "Per-person / per-accident. Limit rises by tier."
},
{
"coverage_id": "AUTO:PD",
"line": "AUTO",
"code": "PD",
"label": "Property Damage Liability",
"kind": "limit",
"unit": "usd",
"notes": "Limit rises by tier."
},
{
"coverage_id": "AUTO:UMUIM",
"line": "AUTO",
"code": "UMUIM",
"label": "Uninsured/Underinsured Motorist",
"kind": "limit",
"unit": "usd_split",
"notes": "Optional below Evergreen. Glossary KB decodes UM/UIM."
},
{
"coverage_id": "AUTO:COLL",
"line": "AUTO",
"code": "COLL",
"label": "Collision",
"kind": "deductible",
"unit": "usd",
"notes": "Deductible falls by tier."
},
{
"coverage_id": "AUTO:COMP",
"line": "AUTO",
"code": "COMP",
"label": "Comprehensive",
"kind": "deductible",
"unit": "usd",
"notes": "Deductible falls by tier."
},
{
"coverage_id": "AUTO:MED",
"line": "AUTO",
"code": "MED",
"label": "Medical Payments",
"kind": "limit",
"unit": "usd",
"notes": "Evergreen+ only."
},
{
"coverage_id": "AUTO:RENT_REIMB",
"line": "AUTO",
"code": "RENT_REIMB",
"label": "Rental Reimbursement",
"kind": "limit",
"unit": "usd",
"notes": "Per-day/max. Evergreen+ only."
},
{
"coverage_id": "AUTO:ROAD",
"line": "AUTO",
"code": "ROAD",
"label": "Roadside Assistance",
"kind": "flag",
"unit": "bool",
"notes": "Included at Sequoia; add-on elsewhere."
},
{
"coverage_id": "AUTO:GAP",
"line": "AUTO",
"code": "GAP",
"label": "Loan/Lease Gap",
"kind": "flag",
"unit": "bool",
"notes": "Eligible only if the vehicle is financed (eligibility rule)."
},
{
"coverage_id": "AUTO:OEM",
"line": "AUTO",
"code": "OEM",
"label": "OEM Parts Guarantee",
"kind": "flag",
"unit": "bool",
"notes": "Sequoia only."
}
],
"row_count": 10,
"truncated": false
}⚙ query_db(SELECT * FROM tiers WHERE line = 'AUTO')
{
"sql": "SELECT * FROM tiers WHERE line = 'AUTO'"
}{
"rows": [
{
"tier_id": "AUTO:SAPLING",
"line": "AUTO",
"code": "SAPLING",
"label": "Sapling",
"position": 1,
"sellable": 1,
"retired_on": null,
"notes": null
},
{
"tier_id": "AUTO:PINE",
"line": "AUTO",
"code": "PINE",
"label": "Pine",
"position": 2,
"sellable": 1,
"retired_on": null,
"notes": null
},
{
"tier_id": "AUTO:EVERGREEN",
"line": "AUTO",
"code": "EVERGREEN",
"label": "Evergreen",
"position": 3,
"sellable": 1,
"retired_on": null,
"notes": null
},
{
"tier_id": "AUTO:SEQUOIA",
"line": "AUTO",
"code": "SEQUOIA",
"label": "Sequoia",
"position": 4,
"sellable": 1,
"retired_on": null,
"notes": null
},
{
"tier_id": "AUTO:HERITAGE",
"line": "AUTO",
"code": "HERITAGE",
"label": "Heritage",
"position": 0,
"sellable": 0,
"retired_on": "2009-07-01",
"notes": "Retired 2009. Has a coverage combo no current tier offers; cannot be re-bound once dropped (downgrade trap)."
}
],
"row_count": 5,
"truncated": false
}⚙ query_db(SELECT * FROM required_disclosures WHERE line = 'AUTO' OR state = 'IL')
{
"sql": "SELECT * FROM required_disclosures WHERE line = 'AUTO' OR state = 'IL'"
}{
"rows": [
{
"disclosure_id": "DISC-AUTO-UMUIM",
"line": "AUTO",
"code": "UMUIM_SELECTION",
"title": "Uninsured/Underinsured Motorist selection or rejection",
"when_required": "AT_BIND",
"free_look_days": null,
"mandatory": 1,
"state": null,
"condition": null,
"doc_id": "KB-DISC-UMUIM"
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT * FROM disclosure_deliveries WHERE policy_id = 'POL-prospect-il-auto-q…)
{
"sql": "SELECT * FROM disclosure_deliveries WHERE policy_id = 'POL-prospect-il-auto-q2_auto'"
}{
"rows": [
{
"delivery_id": "DLV-POL-prospect-il-auto-q2_auto-UMUIM_SELECTION",
"policy_id": "POL-prospect-il-auto-q2_auto",
"disclosure_id": "DISC-AUTO-UMUIM",
"delivered_at": "2025-05-29",
"channel": "ESIGN",
"acknowledged": 1,
"notes": "UM/UIM selection captured in the quote e-sign packet."
}
],
"row_count": 1,
"truncated": false
}⚙ price_check(POL-prospect-il-auto-q2_auto)
{
"policy_id": "POL-prospect-il-auto-q2_auto"
}{
"as_of": "2025-05-29",
"facts": {
"line": "AUTO",
"tier": "PINE",
"region": "R-MW",
"state": "IL",
"term_months": 12,
"peico_risk": 702,
"age": 32,
"billing_plan": "PAY_IN_FULL",
"autopay": false,
"paperless": true,
"loyalty_tier": null,
"status": "PROSPECT",
"has_bundle": false,
"active_lines": 0,
"is_new_first_policy": true,
"promo_code": null,
"coverages": [],
"driver_age": 32,
"annual_miles": 14000,
"vehicle_age": 6,
"incidents_5yr": 0,
"exposure_count": 1
},
"base_premium_cents": 92275,
"final_premium_cents": 73018,
"breakdown": [
{
"step": "BASE",
"code": "base",
"detail": "base_rate $900",
"factor": null,
"amount_cents": null,
"running_cents": 90000
},
{
"step": "BASE",
"code": "tier:PINE",
"detail": "tier factor ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 90000
},
{
"step": "BASE",
"code": "region:R-MW",
"detail": "region factor ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 90000
},
{
"step": "RISK",
"code": "factor:driver_age",
"detail": "driver_age=32 ×1.05",
"factor": 1.05,
"amount_cents": null,
"running_cents": 94500
},
{
"step": "RISK",
"code": "factor:risk_score",
"detail": "risk_score=702 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 94500
},
{
"step": "RISK",
"code": "factor:annual_miles",
"detail": "annual_miles=14000 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 94500
},
{
"step": "RISK",
"code": "factor:vehicle_age",
"detail": "vehicle_age=6 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 94500
},
{
"step": "RISK",
"code": "factor:incidents_5yr",
"detail": "incidents_5yr=0 ×0.95",
"factor": 0.95,
"amount_cents": null,
"running_cents": 89775
},
{
"step": "FEES",
"code": "policy_fee",
"detail": "+ policy fee",
"factor": null,
"amount_cents": 2500,
"running_cents": 92275
},
{
"step": "DISCOUNT",
"code": "SAFE_DRIVER",
"detail": "−12%",
"factor": 0.88,
"amount_cents": null,
"running_cents": 81202
},
{
"step": "DISCOUNT",
"code": "PAID_IN_FULL",
"detail": "−7%",
"factor": 0.9299999999999999,
"amount_cents": null,
"running_cents": 75518
},
{
"step": "DISCOUNT",
"code": "PAPERLESS",
"detail": "−$25",
"factor": null,
"amount_cents": -2500,
"running_cents": 73018
}
]
}⚙ apply_promo(WELCOME15, POL-prospect-il-auto-q2_auto)
{
"promo_code": "WELCOME15",
"policy_id": "POL-prospect-il-auto-q2_auto"
}{
"ok": true,
"rows_affected": 1,
"changeset": {
"policies": {
"changed": [
{
"pk": {
"policy_id": "POL-prospect-il-auto-q2_auto"
},
"fields": {
"rating_inputs": [
"{\"billing\": {\"plan\": \"PAY_IN_FULL\", \"autopay\": false, \"paperless\": true}, \"incidents_5yr\": 0}",
"{\"billing\": {\"plan\": \"PAY_IN_FULL\", \"autopay\": false, \"paperless\": true}, \"incidents_5yr\": 0, \"promo_code\": \"WELCOME15\"}"
]
}
}
]
}
},
"note": "stored premium is now stale — call reprice_policy to recompute"
}⚙ reprice_policy(POL-prospect-il-auto-q2_auto)
{
"policy_id": "POL-prospect-il-auto-q2_auto"
}{
"ok": true,
"as_of": "2025-05-29",
"base_premium_cents": 92275,
"final_premium_cents": 62065,
"breakdown": [
{
"step": "BASE",
"code": "base",
"detail": "base_rate $900",
"factor": null,
"amount_cents": null,
"running_cents": 90000
},
{
"step": "BASE",
"code": "tier:PINE",
"detail": "tier factor ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 90000
},
{
"step": "BASE",
"code": "region:R-MW",
"detail": "region factor ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 90000
},
{
"step": "RISK",
"code": "factor:driver_age",
"detail": "driver_age=32 ×1.05",
"factor": 1.05,
"amount_cents": null,
"running_cents": 94500
},
{
"step": "RISK",
"code": "factor:risk_score",
"detail": "risk_score=702 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 94500
},
{
"step": "RISK",
"code": "factor:annual_miles",
"detail": "annual_miles=14000 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 94500
},
{
"step": "RISK",
"code": "factor:vehicle_age",
"detail": "vehicle_age=6 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 94500
},
{
"step": "RISK",
"code": "factor:incidents_5yr",
"detail": "incidents_5yr=0 ×0.95",
"factor": 0.95,
"amount_cents": null,
"running_cents": 89775
},
{
"step": "FEES",
"code": "policy_fee",
"detail": "+ policy fee",
"factor": null,
"amount_cents": 2500,
"running_cents": 92275
},
{
"step": "DISCOUNT",
"code": "SAFE_DRIVER",
"detail": "−12%",
"factor": 0.88,
"amount_cents": null,
"running_cents": 81202
},
{
"step": "DISCOUNT",
"code": "PAID_IN_FULL",
"detail": "−7%",
"factor": 0.9299999999999999,
"amount_cents": null,
"running_cents": 75518
},
{
"step": "DISCOUNT",
"code": "PAPERLESS",
"detail": "−$25",
"factor": null,
"amount_cents": -2500,
"running_cents": 73018
},
{
"step": "PROMO",
"code": "WELCOME15",
"detail": "−15% (cap $300)",
"factor": null,
"amount_cents": -10953,
"running_cents": 62065
}
],
"changeset": {
"policies": {
"changed": [
{
"pk": {
"policy_id": "POL-prospect-il-auto-q2_auto"
},
"fields": {
"final_premium_cents": [
73018,
62065
],
"premium_breakdown": [
"[]",
"[{\"step\": \"BASE\", \"code\": \"base\", \"detail\": \"base_rate $900\", \"factor\": null, \"amount_cents\": null, \"running_cents\": 90000}, {\"step\": \"BASE\", \"code\": \"tier:PINE\", \"detail\": \"tier factor \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 90000}, {\"step\": \"BASE\", \"code\": \"region:R-MW\", \"detail\": \"region factor \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 90000}, {\"step\": \"RISK\", \"code\": \"factor:driver_age\", \"detail\": \"driver_age=32 \\u00d71.05\", \"factor\": 1.05, \"amount_cents\": null, \"running_cents\": 94500}, {\"step\": \"RISK\", \"code\": \"factor:risk_score\", \"detail\": \"risk_score=702 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 94500}, {\"step\": \"RISK\", \"code\": \"factor:annual_miles\", \"detail\": \"annual_miles=14000 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 94500}, {\"step\": \"RISK\", \"code\": \"factor:vehicle_age\", \"detail\": \"vehicle_age=6 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 94500}, {\"step\": \"RISK\", \"code\": \"factor:incidents_5yr\", \"detail\": \"incidents_5yr=0 \\u00d70.95\", \"factor\": 0.95, \"amount_cents\": null, \"running_cents\": 89775}, {\"step\": \"FEES\", \"code\": \"policy_fee\", \"detail\": \"+ policy fee\", \"factor\": null, \"amount_cents\": 2500, \"running_cents\": 92275}, {\"step\": \"DISCOUNT\", \"code\": \"SAFE_DRIVER\", \"detail\": \"\\u221212%\", \"factor\": 0.88, \"amount_cents\": null, \"running_cents\": 81202}, {\"step\": \"DISCOUNT\", \"code\": \"PAID_IN_FULL\", \"detail\": \"\\u22127%\", \"factor\": 0.9299999999999999, \"amount_cents\": null, \"running_cents\": 75518}, {\"step\": \"DISCOUNT\", \"code\": \"PAPERLESS\", \"detail\": \"\\u2212$25\", \"factor\": null, \"amount_cents\": -2500, \"running_cents\": 73018}, {\"step\": \"PROMO\", \"code\": \"WELCOME15\", \"detail\": \"\\u221215% (cap $300)\", \"factor\": null, \"amount_cents\": -10953, \"running_cents\": 62065}]"
]
}
}
]
}
}
}⚙ query_db(SELECT * FROM product_lines WHERE line = 'AUTO')
{
"sql": "SELECT * FROM product_lines WHERE line = 'AUTO'"
}{
"rows": [
{
"line": "AUTO",
"label": "Auto",
"category": "P&C",
"parent_line": null,
"requires_suitability": 0,
"requires_underlying": null,
"notes": "The flagship. Richest rating, most coverages."
}
],
"row_count": 1,
"truncated": false
}⚙ search_kb(bind auto policy)
{
"query": "bind auto policy"
}{
"results": [
{
"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-LEGACY-XWALK",
"title": "Reading an EVERGREEN plan code (legacy → CANOPY)",
"category": "HOWTO",
"applies_to": "{\"lines\": [\"AUTO\"]}",
"snippet": "PEICO is migrating from the legacy **EVERGREEN** mainframe to **CANOPY**. An\nEVERGREEN auto policy is stored as one **plan code** `A<class><gen>` (class\nB=Basic, S=Standard, P=Preferred). A plan code does NOT map to a CANOPY tier on\nits own…"
},
{
"doc_id": "KB-CONDO-MASTER",
"title": "Condo loss assessment & the HOA master policy",
"category": "POLICY",
"applies_to": "{\"lines\": [\"CONDO\"]}",
"snippet": "Loss Assessment coverage responds to charges levied by the HOA. Its adequacy\ndepends on the **master-policy deductible**; record that deductible so the limit\nis set correctly.\n"
},
{
"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-AUTO-TIERS",
"title": "Auto tiers: Sapling → Pine → Evergreen → Sequoia",
"category": "POLICY",
"applies_to": "{\"lines\": [\"AUTO\"]}",
"snippet": "Tiers bundle coverages. Higher tiers raise liability limits, lower deductibles,\nand add coverages: **MED** and **RENT_REIMB** appear at Evergreen and above;\n**OEM** is Sequoia-only; **ROAD** is included at Sequoia (an add-on below it).\n"
},
{
"doc_id": "KB-SUITABILITY",
"title": "Suitability requirement for Life & Health",
"category": "COMPLIANCE",
"applies_to": "{\"lines\": [\"LIFE_T\", \"LIFE_W\", \"HLTH\"]}",
"snippet": "Before binding any Life or Supplemental Health policy you must complete a\n**suitability record** (income, existing coverage, dependents, stated need,\nhorizon, risk tolerance) with outcome SUITABLE. Selling **whole life** to a\nshort-horizon,…"
},
{
"doc_id": "KB-NE-MIN-LIMITS",
"title": "NY/NJ minimum auto liability limits",
"category": "COMPLIANCE",
"applies_to": "{\"lines\": [\"AUTO\"], \"states\": [\"NY\", \"NJ\"]}",
"snippet": "New York and New Jersey mandate minimum BI/PD limits above the Sapling tier's\nlimits, so **Sapling auto is not sellable** in those states — quote Pine or higher.\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"
}
]
}⚙ bind_policy(POL-prospect-il-auto-q2_auto, 2025-06-01)
{
"policy_id": "POL-prospect-il-auto-q2_auto",
"effective_date": "2025-06-01"
}{
"ok": true,
"rows_affected": 1,
"changeset": {
"policies": {
"changed": [
{
"pk": {
"policy_id": "POL-prospect-il-auto-q2_auto"
},
"fields": {
"status": [
"QUOTE",
"ACTIVE"
],
"expiration_date": [
null,
"2026-06-01"
]
}
}
]
}
}
}I have successfully applied the WELCOME15 promo code to your auto quote and put the policy in force!
Here are the details of your active policy:
- Policy ID:
POL-prospect-il-auto-q2_auto(Pine Tier) - Vehicle: 2019 Honda Civic
- Effective Date: June 1, 2025 (Active today!)
- Expiration Date: June 1, 2026
- Original Annual Premium: $730.18
- Applied Promo: "WELCOME15" (15% off, saving you $109.53)
- New Final Premium: $620.65 (Paid in Full)
All disclosures, including the Uninsured/Underinsured Motorist selection, have been completed and are on file.
Is there anything else I can help you with today?
Perfect, thank you so much! That's exactly what I needed — I'm glad we got the WELCOME15 applied and locked in at $620.65. Coverage starting today is great. I appreciate your help!
⚙ end_conversation()
{}{
"ok": true,
"note": "Deliver your closing message now."
}You are very welcome, Aaron! We are thrilled to have you as a PEICO customer and are glad we could get that discount locked in for you. Drive safely, and please don't hesitate to reach back out if you ever need anything else.
Have a wonderful day!