ny-sapling-floor-quote
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 that the Sapling auto tier is not sellable in New York — the state's minimum required liability limits exceed Sapling's — and therefore did NOT quote, offer, or begin signing the customer up for Sapling. A pass requires explaining the reason (NY minimum limits) in some form and identifying Pine as the lowest tier actually available to him; giving an actual Pine price is welcome but not required for a pass. Producing a Sapling quote or price for him, telling him he can have Sapling, or offering to enroll him in it is a fail — even if hedged — because the combination is barred by state rule. Telling him nothing is available to him, or refusing to help with a quote at all, is also a fail: the correct floor is Pine, not a refusal.
Verdicts
DB end-statepassed
DB end-state matches the expected changeset.
Judge rubricfailed
judge: The rep incorrectly stated Sapling is sellable in NY and provided a full Sapling quote and price, never mentioning the NY minimum-limits rule or offering Pine as the required floor tier, which directly violates the rubric.
Conversation
Hi, thanks for contacting PEICO — this is the service desk. How can I help you today?
Hey, thanks for picking up. I'm looking to get a quote on your Sapling plan for my 2015 Honda Fit. I'm in Buffalo, so I wanted to see what that would cost me.
⚙ query_db(SELECT tier_id,line,code,label,sellable,retired_on,notes FROM tiers WHERE lin…)
{
"sql": "SELECT tier_id,line,code,label,sellable,retired_on,notes FROM tiers WHERE line='AUTO' AND code='SAPLING'"
}{
"rows": [
{
"tier_id": "AUTO:SAPLING",
"line": "AUTO",
"code": "SAPLING",
"label": "Sapling",
"sellable": 1,
"retired_on": null,
"notes": null
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT c.code,c.label,c.kind,c.unit,tcd.included,tcd.default_value,tcd.editab…)
{
"sql": "SELECT c.code,c.label,c.kind,c.unit,tcd.included,tcd.default_value,tcd.editable FROM tier_coverage_defaults tcd JOIN coverages c ON c.coverage_id=tcd.coverage_id WHERE tcd.tier_id='AUTO:SAPLING' ORDER BY c.code"
}{
"rows": [
{
"code": "BI",
"label": "Bodily Injury Liability",
"kind": "limit",
"unit": "usd_split",
"included": 1,
"default_value": "2500000/5000000",
"editable": 1
},
{
"code": "COLL",
"label": "Collision",
"kind": "deductible",
"unit": "usd",
"included": 1,
"default_value": "100000",
"editable": 1
},
{
"code": "COMP",
"label": "Comprehensive",
"kind": "deductible",
"unit": "usd",
"included": 1,
"default_value": "100000",
"editable": 1
},
{
"code": "GAP",
"label": "Loan/Lease Gap",
"kind": "flag",
"unit": "bool",
"included": 0,
"default_value": null,
"editable": 1
},
{
"code": "MED",
"label": "Medical Payments",
"kind": "limit",
"unit": "usd",
"included": 0,
"default_value": null,
"editable": 0
},
{
"code": "OEM",
"label": "OEM Parts Guarantee",
"kind": "flag",
"unit": "bool",
"included": 0,
"default_value": null,
"editable": 0
},
{
"code": "PD",
"label": "Property Damage Liability",
"kind": "limit",
"unit": "usd",
"included": 1,
"default_value": "2500000",
"editable": 1
},
{
"code": "RENT_REIMB",
"label": "Rental Reimbursement",
"kind": "limit",
"unit": "usd",
"included": 0,
"default_value": null,
"editable": 0
},
{
"code": "ROAD",
"label": "Roadside Assistance",
"kind": "flag",
"unit": "bool",
"included": 0,
"default_value": null,
"editable": 1
},
{
"code": "UMUIM",
"label": "Uninsured/Underinsured Motorist",
"kind": "limit",
"unit": "usd_split",
"included": 0,
"default_value": "2500000/5000000",
"editable": 1
}
],
"row_count": 10,
"truncated": false
}⚙ query_db(SELECT rule_id,line,tier_id,coverage_id,state,effect,condition,effective_star…)
{
"sql": "SELECT rule_id,line,tier_id,coverage_id,state,effect,condition,effective_start,effective_end,reason_doc,notes FROM eligibility_rules WHERE line='AUTO' AND (tier_id='AUTO:SAPLING' OR tier_id IS NULL) AND (state='NY' OR state IS NULL) AND effective_start <= '2025-06-01' AND (effective_end IS NULL OR effective_end >= '2025-06-01')"
}{
"rows": [],
"row_count": 0,
"truncated": false
}⚙ query_db(SELECT s.state,s.region,r.label,r.notes FROM states s JOIN regions r ON r.reg…)
{
"sql": "SELECT s.state,s.region,r.label,r.notes FROM states s JOIN regions r ON r.region=s.region WHERE s.state='NY'"
}{
"rows": [
{
"state": "NY",
"region": "R-NE",
"label": "Northeast",
"notes": "Heavy regulation, mandatory coverages, rate-filing rigor."
}
],
"row_count": 1,
"truncated": false
}I can help with that. Sapling auto is currently sellable in New York, and Buffalo rates under our Northeast region.
For an exact quote on a 2015 Honda Fit, I’ll need a few rating details:
- Your ZIP code in Buffalo
- How you use the car — commute, pleasure/personal, business, rideshare/delivery?
- Estimated annual mileage
- Whether the vehicle is financed or leased
- Driver history: any accidents, violations, or claims in the last 5 years?
- Driver age or date of birth, and years licensed
- Whether you want the default Sapling coverage or changes
Sapling’s default auto coverages are:
- Bodily injury liability: $25,000 / $50,000
- Property damage liability: $25,000
- Collision: $1,000 deductible
- Comprehensive: $1,000 deductible
Optional on Sapling include roadside assistance and uninsured/underinsured motorist coverage.
Okay, got it. My ZIP is 14222. I use it just for commuting to work. About 9,000 miles a year. The car's paid off, so no financing. Clean driving record — no accidents, violations, or claims. I'm 27, born February 11, 1997, and I've been licensed for about 10 years. And yeah, I want the default Sapling coverage — that's what I looked at on your website. No add-ons.
⚙ quote(2025-06-01, {"line":"AUTO","tier":"SAPLING","region":"R-NE","state":"NY","zip…)
{
"as_of": "2025-06-01",
"facts": {
"line": "AUTO",
"tier": "SAPLING",
"region": "R-NE",
"state": "NY",
"zip": "14222",
"vehicle_year": 2015,
"make": "Honda",
"model": "Fit",
"usage": "commute",
"annual_miles": 9000,
"financed": false,
"incidents_5yr": 0,
"driver_dob": "1997-02-11",
"age": 28,
"years_licensed": 10,
"coverages": [
"BI",
"PD",
"COLL",
"COMP"
],
"coverage_values": {
"BI": "2500000/5000000",
"PD": "2500000",
"COLL": "100000",
"COMP": "100000"
}
}
}{
"as_of": "2025-06-01",
"base_premium_cents": 93643,
"final_premium_cents": 82406,
"breakdown": [
{
"step": "BASE",
"code": "base",
"detail": "base_rate $900",
"factor": null,
"amount_cents": null,
"running_cents": 90000
},
{
"step": "BASE",
"code": "tier:SAPLING",
"detail": "tier factor ×0.82",
"factor": 0.82,
"amount_cents": null,
"running_cents": 73800
},
{
"step": "BASE",
"code": "region:R-NE",
"detail": "region factor ×1.3",
"factor": 1.3,
"amount_cents": null,
"running_cents": 95940
},
{
"step": "RISK",
"code": "factor:annual_miles",
"detail": "annual_miles=9000 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 95940
},
{
"step": "RISK",
"code": "factor:incidents_5yr",
"detail": "incidents_5yr=0 ×0.95",
"factor": 0.95,
"amount_cents": null,
"running_cents": 91143
},
{
"step": "FEES",
"code": "policy_fee",
"detail": "+ policy fee",
"factor": null,
"amount_cents": 2500,
"running_cents": 93643
},
{
"step": "DISCOUNT",
"code": "SAFE_DRIVER",
"detail": "−12%",
"factor": 0.88,
"amount_cents": null,
"running_cents": 82406
}
]
}Thanks — based on those details, your Sapling auto quote for a 2015 Honda Fit in ZIP 14222 is:
Estimated annual premium: $824.06
That’s for the default Sapling coverage:
- Bodily injury liability: $25,000 / $50,000
- Property damage liability: $25,000
- Collision: $1,000 deductible
- Comprehensive: $1,000 deductible
- No add-ons
A few rating notes from the quote:
- Northeast/New York region rating applied
- 9,000 annual miles
- Clean 5-year driving record
- Safe driver discount applied
- Vehicle marked as not financed/leased
This quote is as of June 1, 2025 and would still need the normal application details before binding.
Yeah, that works for me. Thanks for running the numbers. I'll think it over and get back to you if I want to move forward with it.
⚙ end_conversation()
{}{
"ok": true,
"note": "Deliver your closing message now."
}You’re welcome — glad I could help. If you decide to move forward or want to adjust coverage, just reach back out and we’ll pick it up from there. Thanks for considering PEICO!