""" tasks/medium_task.py — Medium scenario: billing error + overcharge """ from models import Task, StepName, DifficultyLevel MEDIUM_TASK = Task( task_id = "MEDIUM_001", difficulty = DifficultyLevel.MEDIUM, customer_emotion = "frustrated", escalation_risk = False, customer_message = ( "I've been charged twice for my subscription this month — " "$49.99 appeared on my card on both the 1st and the 15th. " "This is completely unacceptable. I want my money back!" ), scenario_context = ( "Customer account: ACC-4492. " "Subscription plan: Pro Monthly ($49.99/month). " "Billing system shows a duplicate charge due to a payment gateway retry bug on the 15th. " "Policy: full refund issued within 3–5 business days for duplicate charges." ), required_steps = [ StepName.EMPATHY, StepName.COLLECT_INFO, StepName.INVESTIGATE, StepName.RESOLUTION, ], step_keywords = { StepName.EMPATHY: ["sorry", "apologize", "understand", "frustrat", "unacceptable", "inconvenien"], StepName.COLLECT_INFO: ["account number", "email", "could you confirm", "transaction", "billing date", "card", "may i"], StepName.INVESTIGATE: ["checking", "i can see", "our records", "duplicate", "found", "it appears", "billing system"], StepName.RESOLUTION: ["refund", "credit", "3 to 5", "3-5", "business days", "we will process", "i will process", "reimburse"], }, )