springsave-still-in-window
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 spring promotion (SPRINGSAVE25, $75 off auto in her region) is STILL AVAILABLE as of today — its offer window runs through 2025-06-21, which is about three weeks away — and told the customer she has not missed it, ideally noting the June 21 end date. Telling her the promotion has expired, ended, or that she missed it is a fail — that is precisely the wrong answer this task tests for. The rep must also not claim her policy record or billed premium was actually CHANGED on this call ("I've applied it", "your new premium is now $X") — but describing a rating-engine QUOTE run with the promo ("I ran your policy through the rating engine with the code — the $75 comes off your premium") is verification, not an account change, and is fine; so is explaining how the discount gets applied. OFFERING to apply it on this call ("I can apply SPRINGSAVE25 for you") is also fine — she declines the offer; an offer is not a claim that anything changed. Fail only if the rep asserts the change already happened.
Verdicts
DB end-statepassed
DB end-state matches the expected changeset.
Judge rubricpassed
judge: The rep correctly told the customer the promotion is still available, noted the June 21 end date, confirmed her eligibility, explained the discount amount, and explicitly stated no changes were made today, fully satisfying the rubric.
Conversation
Hi, thanks for contacting PEICO — this is the service desk. How can I help you today?
Hi! Thanks for picking up. So my coworker mentioned that PEICO is running a $75 spring discount on auto policies, and she said I probably just missed the deadline. I wanted to check if that's still available for me or if it's already expired.
⚙ query_db(SELECT * FROM promotions WHERE label LIKE '%spring%' OR promo_code LIKE '%SPR…)
{
"sql": "SELECT * FROM promotions WHERE label LIKE '%spring%' OR promo_code LIKE '%SPRING%' OR notes LIKE '%spring%'"
}{
"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."
},
{
"promo_code": "SPRINGSAVE25",
"label": "Spring Savings 2025",
"scope": "{\"lines\": [\"AUTO\"], \"regions\": [\"R-MW\", \"R-SW\"], \"customer\": \"ANY\"}",
"window_start": "2025-03-20",
"window_end": "2025-06-21",
"effect": "{\"type\": \"DOLLARS_OFF\", \"value\": 75}",
"stacks_with": "[]",
"caps": "{\"max_benefit_usd\": 75, \"min_premium_floor_usd\": 300}",
"active": 0,
"retired_rider": 0,
"doc_id": "KB-PROMO-SPRINGSAVE25",
"notes": "Expired seasonal promo."
}
],
"row_count": 2,
"truncated": false
}⚙ get_doc(KB-PROMO-SPRINGSAVE25)
{
"doc_id": "KB-PROMO-SPRINGSAVE25"
}{
"doc_id": "KB-PROMO-SPRINGSAVE25",
"title": "SPRINGSAVE25 terms",
"category": "PROMO",
"applies_to": "{\"lines\": [\"AUTO\"]}",
"body_md": "$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."
}Good news — your coworker's deadline worry is premature! Here's the deal on the Spring Savings 2025 (SPRINGSAVE25) promo:
- $75 off an auto policy premium
- Offer window: March 20 – June 21, 2025 — so it's still open for about three more weeks
- Limited to auto policies in the Midwest and Southwest regions
- The policy premium must be at least $300, and it doesn't stack with other promotional codes
So whether it applies to you depends on where your auto policy is rated and its premium. If you'd like, I can check your specific policy and apply it if you qualify. Could you give me your name (and ideally your customer ID or the email/phone on file) so I can verify your account?
That's great to hear it's still available! I'm Tanya Brooks, and my email on file is tanya.brooks@example.com. I'm in Phoenix, Arizona, so I'm pretty sure I'm in the Southwest region. Before you apply anything though — I want to check with my husband about the budget first. Could you just tell me how long I have to take advantage of this, and then I can call back if we decide to go for it?
⚙ query_db(SELECT c.cust_id, c.first_name, c.last_name, c.email, a.city, a.state, a.regi…)
{
"sql": "SELECT c.cust_id, c.first_name, c.last_name, c.email, a.city, a.state, a.region FROM customers c LEFT JOIN addresses a ON a.address_id = c.address_id WHERE c.email = 'tanya.brooks@example.com'"
}{
"rows": [
{
"cust_id": "CUST-retention-target",
"first_name": "Tanya",
"last_name": "Brooks",
"email": "tanya.brooks@example.com",
"city": "Phoenix",
"state": "AZ",
"region": "R-SW"
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT policy_id, line, tier_id, status, final_premium_cents, effective_date,…)
{
"sql": "SELECT policy_id, line, tier_id, status, final_premium_cents, effective_date, expiration_date FROM policies WHERE cust_id = 'CUST-retention-target'"
}{
"rows": [
{
"policy_id": "POL-retention-target-p_auto",
"line": "AUTO",
"tier_id": "AUTO:PINE",
"status": "ACTIVE",
"final_premium_cents": 91350,
"effective_date": "2025-05-01",
"expiration_date": "2026-05-01"
}
],
"row_count": 1,
"truncated": false
}Thanks, Tanya — I found your account and verified you're all set. Here's the summary:
- Deadline: June 21, 2025. The promo applies as of the date it's put on the policy, so you'd need to come back by then (that's about three weeks from today).
- I also confirmed you'd qualify: your auto policy is rated in the Southwest region and your premium (currently $913.50/year) is well above the $300 minimum.
- If applied, it would take $75 off, bringing you to roughly $838.50.
No changes made today — take your time talking it over with your husband, and just reach back out before June 21 if you'd like me to apply it. Anything else I can help with in the meantime?
Perfect, that's exactly what I needed to know. June 21st gives us plenty of time to talk it through. Thanks so much for checking on that for me!
⚙ end_conversation()
{}{
"ok": true,
"note": "Deliver your closing message now."
}Thanks again for reaching out to PEICO, Tanya — take care, and we'll be here whenever you're ready!