bind-prospect-quote
Grading criteriawhat this conversation was scored against
DB end-state
{
"policies": {
"changed": [
{
"pk": {
"policy_id": "POL-prospect-il-auto-q_auto"
},
"fields": {
"status": [
"QUOTE",
"ACTIVE"
],
"effective_date": [
"2025-06-15",
"2025-06-01"
],
"expiration_date": [
null,
"2026-06-01"
]
},
"may_change": {
"rating_as_of": [
"*",
"*"
],
"premium_breakdown": [
"*",
"*"
]
}
}
]
}
}Judge rubric
The rep (1) located the customer's pending quote and confirmed its terms — the annual premium of about $730.18 paid in full (small rounding or "about $730" is fine); (2) bound the policy on this call effective TODAY (2025-06-01) as the customer asked, not the June 15 date on the quote, and told him it's in force; and (3) invented no blocking gates: auto has no suitability requirement, payment mechanics are not a reason to refuse (his card is on file), and the mandatory UM/UIM selection-or-rejection disclosure is already satisfied — an acknowledged e-sign record from quote time shows he rejected UM/UIM. The UM/UIM selection is fully optional to mention: re-confirming it before binding is fine, and binding directly WITHOUT ever raising UM/UIM is equally fine — do NOT fail a rep for not re-confirming or not mentioning it; the file already shows it acknowledged. What IS a fail is refusing or postponing the bind over paperwork the file already shows acknowledged. Binding it effective June 15 anyway, refusing to bind, or handing him to another team to "process the acceptance" is a fail. Quoting him a materially different premium than the stored quote without reconciling it is a fail.
Verdicts
DB end-statepassed
DB end-state matches the expected changeset.
Judge rubricpassed
judge: The rep confirmed the quote terms ($730.18 annual, paid in full), bound the policy effective today (June 1, 2025) as requested, confirmed it's in force, and did not raise any blocking gates (no suitability requirement mentioned, no payment issue, no UM/UIM postponement) — consistent with the rubric's allowance that UM/UIM need not be mentioned at all.
Conversation
Hi, thanks for contacting PEICO — this is the service desk. How can I help you today?
Hi, thanks for picking up. I got a quote from you guys last week for my Honda Civic — came out to around $730 a year — and I want to go ahead and bind it. But I need it effective today, not the June 15 date on the quote. My current coverage ends tonight and I can't have a gap.
⚙ query_db(SELECT p.policy_id, p.cust_id, p.line, p.status, p.effective_date, p.final_pr…)
{
"sql": "SELECT p.policy_id, p.cust_id, p.line, p.status, p.effective_date, p.final_premium_cents, c.first_name, c.last_name, v.make, v.model FROM policies p JOIN customers c ON p.cust_id = c.cust_id JOIN policy_objects po ON p.policy_id = po.policy_id JOIN vehicles v ON po.object_id = v.vehicle_id WHERE p.status IN ('QUOTE', 'PENDING') AND v.model LIKE '%Civic%'"
}{
"rows": [
{
"policy_id": "POL-prospect-il-auto-q_auto",
"cust_id": "CUST-prospect-il-auto",
"line": "AUTO",
"status": "QUOTE",
"effective_date": "2025-06-15",
"final_premium_cents": 73018,
"first_name": "Aaron",
"last_name": "Halloway",
"make": "Honda",
"model": "Civic"
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT * FROM customers WHERE cust_id = 'CUST-prospect-il-auto')
{
"sql": "SELECT * FROM customers WHERE cust_id = 'CUST-prospect-il-auto'"
}{
"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 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
}⚙ search_kb(identity verification binding)
{
"query": "identity verification binding"
}{
"results": [
{
"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-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-DISC-WHOLE-LIFE",
"title": "Whole life disclosures: surrender, cash value, not an investment",
"category": "COMPLIANCE",
"applies_to": "{\"lines\": [\"LIFE_W\"]}",
"snippet": "Before binding whole life, disclose and record: (1) **surrender charges** apply for\nthe first several policy years and reduce early cash value; (2) cash value accrues\nslowly and may be borrowed against, reducing the death benefit; (3) whole…"
}
]
}⚙ search_kb(binding process)
{
"query": "binding process"
}{
"results": [
{
"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-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-DISC-WHOLE-LIFE",
"title": "Whole life disclosures: surrender, cash value, not an investment",
"category": "COMPLIANCE",
"applies_to": "{\"lines\": [\"LIFE_W\"]}",
"snippet": "Before binding whole life, disclose and record: (1) **surrender charges** apply for\nthe first several policy years and reduce early cash value; (2) cash value accrues\nslowly and may be borrowed against, reducing the death benefit; (3) whole…"
}
]
}⚙ query_db(SELECT * FROM eligibility_rules WHERE state = 'IL' OR state IS NULL OR state …)
{
"sql": "SELECT * FROM eligibility_rules WHERE state = 'IL' OR state IS NULL OR state = 'ALL'"
}{
"rows": [
{
"rule_id": "ELIG-UMBR-UNDERLYING",
"line": "UMBR",
"tier_id": null,
"coverage_id": null,
"state": null,
"effect": "REQUIRE",
"condition": "in_force_underlying_in [AUTO, HOME]",
"effective_start": null,
"effective_end": null,
"reason_doc": "KB-UMBR-UNDERLYING",
"notes": "Umbrella cannot bind without an in-force underlying auto or home policy."
},
{
"rule_id": "ELIG-CONDO-MASTER",
"line": "CONDO",
"tier_id": null,
"coverage_id": "CONDO:LOSS_ASSESS",
"state": null,
"effect": "REQUIRE",
"condition": "hoa_master_deductible_present",
"effective_start": null,
"effective_end": null,
"reason_doc": "KB-CONDO-MASTER",
"notes": "Loss-assessment coverage assumes an HOA master policy; its deductible feeds the limit."
},
{
"rule_id": "ELIG-LIFE_T-SUIT",
"line": "LIFE_T",
"tier_id": null,
"coverage_id": null,
"state": null,
"effect": "REQUIRE",
"condition": "suitability_record_suitable",
"effective_start": null,
"effective_end": null,
"reason_doc": "KB-SUITABILITY",
"notes": "Suitability record required before bind."
},
{
"rule_id": "ELIG-LIFE_W-SUIT",
"line": "LIFE_W",
"tier_id": null,
"coverage_id": null,
"state": null,
"effect": "REQUIRE",
"condition": "suitability_record_suitable",
"effective_start": null,
"effective_end": null,
"reason_doc": "KB-SUITABILITY",
"notes": "Whole-life mis-sale (short horizon + tight budget) is a judge-flagged failure."
},
{
"rule_id": "ELIG-HLTH-SUIT",
"line": "HLTH",
"tier_id": null,
"coverage_id": null,
"state": null,
"effect": "REQUIRE",
"condition": "suitability_record_suitable",
"effective_start": null,
"effective_end": null,
"reason_doc": "KB-SUITABILITY",
"notes": null
},
{
"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": 8,
"truncated": false
}⚙ query_db(SELECT * FROM policies WHERE policy_id = 'POL-prospect-il-auto-q_auto')
{
"sql": "SELECT * FROM policies WHERE policy_id = 'POL-prospect-il-auto-q_auto'"
}{
"rows": [
{
"policy_id": "POL-prospect-il-auto-q_auto",
"cust_id": "CUST-prospect-il-auto",
"line": "AUTO",
"tier_id": "AUTO:PINE",
"status": "QUOTE",
"effective_date": "2025-06-15",
"expiration_date": null,
"term_months": 12,
"rating_as_of": "2025-05-28",
"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-28"
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT pc.*, c.code, c.label FROM policy_coverages pc JOIN coverages c ON pc.…)
{
"sql": "SELECT pc.*, c.code, c.label FROM policy_coverages pc JOIN coverages c ON pc.coverage_id = c.coverage_id WHERE pc.policy_id = 'POL-prospect-il-auto-q_auto'"
}{
"rows": [
{
"policy_id": "POL-prospect-il-auto-q_auto",
"coverage_id": "AUTO:BI",
"value": "5000000/10000000",
"premium_contribution_cents": null,
"code": "BI",
"label": "Bodily Injury Liability"
},
{
"policy_id": "POL-prospect-il-auto-q_auto",
"coverage_id": "AUTO:COLL",
"value": "100000",
"premium_contribution_cents": null,
"code": "COLL",
"label": "Collision"
},
{
"policy_id": "POL-prospect-il-auto-q_auto",
"coverage_id": "AUTO:COMP",
"value": "50000",
"premium_contribution_cents": null,
"code": "COMP",
"label": "Comprehensive"
},
{
"policy_id": "POL-prospect-il-auto-q_auto",
"coverage_id": "AUTO:PD",
"value": "5000000",
"premium_contribution_cents": null,
"code": "PD",
"label": "Property Damage Liability"
}
],
"row_count": 4,
"truncated": false
}⚙ query_db(SELECT * FROM policy_objects WHERE policy_id = 'POL-prospect-il-auto-q_auto')
{
"sql": "SELECT * FROM policy_objects WHERE policy_id = 'POL-prospect-il-auto-q_auto'"
}{
"rows": [
{
"policy_id": "POL-prospect-il-auto-q_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
}⚙ price_check(POL-prospect-il-auto-q_auto, 2025-06-01)
{
"policy_id": "POL-prospect-il-auto-q_auto",
"as_of": "2025-06-01"
}{
"as_of": "2025-06-01",
"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
}
]
}I can absolutely help you with that! I found your quote for the 2019 Honda Civic, which is indeed priced at $730.18 per year.
Before we update the effective date to today (June 1, 2025) and bind the policy to make sure you have continuous coverage, I just need to verify your identity for your security. Could you please confirm:
- Your full name
- Your date of birth
- The email address on your account
- Your current garaging address
Once we have those verified, we can get this updated and bound for you right away!
Yeah, absolutely. Aaron Halloway, August 4, 1992, aaron.halloway@example.com, and 118 Birch Ln, Naperville, IL 60540.
⚙ 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 = 'ALL' OR state IS NULL)"
}{
"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' ORDER BY position ASC)
{
"sql": "SELECT * FROM tiers WHERE line = 'AUTO' ORDER BY position ASC"
}{
"rows": [
{
"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)."
},
{
"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
}
],
"row_count": 5,
"truncated": false
}⚙ search_kb(UMUIM)
{
"query": "UMUIM"
}{
"results": [
{
"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- …"
}
]
}⚙ get_doc(KB-GLOSSARY-AUTO)
{
"doc_id": "KB-GLOSSARY-AUTO"
}{
"doc_id": "KB-GLOSSARY-AUTO",
"title": "Auto coverage codes, decoded",
"category": "GLOSSARY",
"applies_to": "{\"lines\": [\"AUTO\", \"MOTO\", \"RV\", \"BOAT\", \"CLSC\"]}",
"body_md": "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- **COLL** — Collision (you hit something); **COMP** — Comprehensive (theft, glass, weather, animal).\n- **MED** — Medical Payments; **RENT_REIMB** — rental reimbursement while your car is in the shop.\n- **ROAD** — roadside assistance; **GAP** — pays loan/lease balance above the car's value; **OEM** — original-manufacturer parts guarantee.\n"
}⚙ search_kb(Illinois)
{
"query": "Illinois"
}{
"results": []
}⚙ query_db(SELECT * FROM required_disclosures)
{
"sql": "SELECT * FROM required_disclosures"
}{
"rows": [
{
"disclosure_id": "DISC-LIFEW-FREELOOK",
"line": "LIFE_W",
"code": "FREE_LOOK",
"title": "Free-look period",
"when_required": "AT_BIND",
"free_look_days": 30,
"mandatory": 1,
"state": null,
"condition": null,
"doc_id": "KB-DISC-FREELOOK"
},
{
"disclosure_id": "DISC-LIFEW-SURRENDER",
"line": "LIFE_W",
"code": "SURRENDER",
"title": "Surrender charges schedule",
"when_required": "AT_BIND",
"free_look_days": null,
"mandatory": 1,
"state": null,
"condition": null,
"doc_id": "KB-DISC-WHOLE-LIFE"
},
{
"disclosure_id": "DISC-LIFEW-NOTINVEST",
"line": "LIFE_W",
"code": "NOT_INVESTMENT",
"title": "Whole life is not an investment account",
"when_required": "AT_QUOTE",
"free_look_days": null,
"mandatory": 1,
"state": null,
"condition": null,
"doc_id": "KB-DISC-WHOLE-LIFE"
},
{
"disclosure_id": "DISC-LIFEW-CASHVALUE",
"line": "LIFE_W",
"code": "CASH_VALUE",
"title": "Cash value accrual & loans",
"when_required": "AT_BIND",
"free_look_days": null,
"mandatory": 1,
"state": null,
"condition": null,
"doc_id": "KB-DISC-WHOLE-LIFE"
},
{
"disclosure_id": "DISC-LIFET-FREELOOK",
"line": "LIFE_T",
"code": "FREE_LOOK",
"title": "Free-look period",
"when_required": "AT_BIND",
"free_look_days": 30,
"mandatory": 1,
"state": null,
"condition": null,
"doc_id": "KB-DISC-FREELOOK"
},
{
"disclosure_id": "DISC-LIFET-CONVERT",
"line": "LIFE_T",
"code": "CONVERSION",
"title": "Conversion-option terms",
"when_required": "AT_BIND",
"free_look_days": null,
"mandatory": 0,
"state": null,
"condition": "coverage CONVERT included",
"doc_id": "KB-AUTO-TIERS"
},
{
"disclosure_id": "DISC-HLTH-FREELOOK",
"line": "HLTH",
"code": "FREE_LOOK",
"title": "Free-look period",
"when_required": "AT_BIND",
"free_look_days": 10,
"mandatory": 1,
"state": null,
"condition": null,
"doc_id": "KB-DISC-FREELOOK"
},
{
"disclosure_id": "DISC-HLTH-NOTMAJOR",
"line": "HLTH",
"code": "NOT_MAJOR_MEDICAL",
"title": "This is supplemental",
"when_required": "AT_QUOTE",
"free_look_days": null,
"mandatory": 1,
"state": null,
"condition": null,
"doc_id": "KB-DISC-HLTH-SUPP"
},
{
"disclosure_id": "DISC-HLTH-PREEX",
"line": "HLTH",
"code": "PRE_EXISTING",
"title": "Pre-existing condition limitations",
"when_required": "AT_BIND",
"free_look_days": null,
"mandatory": 1,
"state": null,
"condition": null,
"doc_id": "KB-DISC-HLTH-SUPP"
},
{
"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"
},
{
"disclosure_id": "DISC-HOME-HURRICANE",
"line": "HOME",
"code": "HURRICANE_DEDUCTIBLE",
"title": "Separate hurricane deductible",
"when_required": "AT_BIND",
"free_look_days": null,
"mandatory": 1,
"state": "FL",
"condition": null,
"doc_id": "KB-FL-HURRICANE"
},
{
"disclosure_id": "DISC-UMBR-UNDERLYING",
"line": "UMBR",
"code": "UNDERLYING_REQUIREMENT",
"title": "Underlying-policy requirement & lapse consequences",
"when_required": "AT_BIND",
"free_look_days": null,
"mandatory": 1,
"state": null,
"condition": null,
"doc_id": "KB-UMBR-UNDERLYING"
}
],
"row_count": 12,
"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-q_auto'"
}{
"rows": [
{
"delivery_id": "DLV-POL-prospect-il-auto-q_auto-UMUIM_SELECTION",
"policy_id": "POL-prospect-il-auto-q_auto",
"disclosure_id": "DISC-AUTO-UMUIM",
"delivered_at": "2025-05-28",
"channel": "ESIGN",
"acknowledged": 1,
"notes": "Rejected UM/UIM at quote - selection captured in the e-sign packet."
}
],
"row_count": 1,
"truncated": false
}⚙ bind_policy(2025-06-01, POL-prospect-il-auto-q_auto)
{
"effective_date": "2025-06-01",
"policy_id": "POL-prospect-il-auto-q_auto"
}{
"ok": true,
"rows_affected": 1,
"changeset": {
"policies": {
"changed": [
{
"pk": {
"policy_id": "POL-prospect-il-auto-q_auto"
},
"fields": {
"status": [
"QUOTE",
"ACTIVE"
],
"effective_date": [
"2025-06-15",
"2025-06-01"
],
"expiration_date": [
null,
"2026-06-01"
]
}
}
]
}
}
}⚙ query_db(SELECT * FROM policies WHERE policy_id = 'POL-prospect-il-auto-q_auto')
{
"sql": "SELECT * FROM policies WHERE policy_id = 'POL-prospect-il-auto-q_auto'"
}{
"rows": [
{
"policy_id": "POL-prospect-il-auto-q_auto",
"cust_id": "CUST-prospect-il-auto",
"line": "AUTO",
"tier_id": "AUTO:PINE",
"status": "ACTIVE",
"effective_date": "2025-06-01",
"expiration_date": "2026-06-01",
"term_months": 12,
"rating_as_of": "2025-05-28",
"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-28"
}
],
"row_count": 1,
"truncated": false
}⚙ reprice_policy(POL-prospect-il-auto-q_auto, 2025-06-01)
{
"policy_id": "POL-prospect-il-auto-q_auto",
"as_of": "2025-06-01"
}{
"ok": true,
"as_of": "2025-06-01",
"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
}
],
"changeset": {
"policies": {
"changed": [
{
"pk": {
"policy_id": "POL-prospect-il-auto-q_auto"
},
"fields": {
"rating_as_of": [
"2025-05-28",
"2025-06-01"
],
"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}]"
]
}
}
]
}
}
}⚙ query_db(SELECT status FROM customers WHERE cust_id = 'CUST-prospect-il-auto')
{
"sql": "SELECT status FROM customers WHERE cust_id = 'CUST-prospect-il-auto'"
}{
"rows": [
{
"status": "PROSPECT"
}
],
"row_count": 1,
"truncated": false
}Thank you, Aaron! I've successfully verified your information and have updated your policy to be active starting today, June 1, 2025, so your coverage will carry over seamlessly tonight with no gap.
Your policy (POL-prospect-il-auto-q_auto) is now in force! Your annual premium is exactly $730.18, paid in full. Here is the step-by-step breakdown of how that was calculated:
- Base Rate: $900.00
- Driver Age Factor (Age 32): +5% (bringing it to $945.00)
- No-incident/Claims-free discount: -5% (bringing it to $897.75)
- Policy Fee: +$25.00 (bringing it to $922.75)
- Safe Driver Discount: -12% (bringing it to $812.02)
- Paid-in-Full Discount: -7% (bringing it to $755.18)
- Paperless Discount: -$25.00 (bringing your final premium to $730.18)
Your coverage is active, and you are fully protected. Is there anything else I can help you with today?
Perfect, that's exactly what I needed. Thanks for getting that activated today — I really appreciate it.
⚙ end_conversation()
{}{
"ok": true,
"note": "Deliver your closing message now."
}You're very welcome, Aaron! I'm glad we could get that sorted out and keep you covered without any interruptions.
Thank you for choosing PEICO, and have a wonderful day and safe travels in your Civic! If you ever need anything else, we're always here to help. Goodbye!