Spaces:
Sleeping
Sleeping
| from __future__ import annotations | |
| from tasks.base import SupportTaskSpec, KnowledgeSnippet, SupportTicket | |
| TASK = SupportTaskSpec( | |
| task_id="billing_refund_easy", | |
| difficulty="easy", | |
| title="Duplicate charge refund triage", | |
| objective=( | |
| "Triage a duplicate-charge billing ticket, send the correct customer response, " | |
| "and close the case only if no further customer information is required." | |
| ), | |
| ticket=SupportTicket( | |
| customer_name="Riya Shah", | |
| customer_tier="pro", | |
| company="PixelNorth Studio", | |
| subject="Charged twice after I canceled", | |
| body=( | |
| "I canceled our Pro annual workspace yesterday, but my card was charged again " | |
| "this morning and I still see the old invoice. We only had one workspace, " | |
| "so this looks like a duplicate charge. Please fix it quickly." | |
| ), | |
| region="ap-south-1", | |
| affected_users=12, | |
| sla_minutes_remaining=240, | |
| ), | |
| knowledge_base=( | |
| KnowledgeSnippet( | |
| article_id="kb-refund-dup", | |
| title="Refund duplicate charges", | |
| content=( | |
| "If a customer is double-charged, verify the duplicate invoice IDs, refund the extra charge, " | |
| "and send a confirmation summarizing the refund amount and timeline." | |
| ), | |
| ), | |
| KnowledgeSnippet( | |
| article_id="kb-pro-refund-policy", | |
| title="Pro tier refund policy", | |
| content=( | |
| "Pro annual refunds are prorated to the current billing month; processing takes 5-7 business days. " | |
| "Provide the refund reference ID in your reply." | |
| ), | |
| ), | |
| ), | |
| gold_queue="billing_ops", | |
| gold_priority="high", | |
| gold_issue_type="duplicate_charge", | |
| gold_status="resolved", | |
| gold_resolution_code="refund_processed", | |
| required_requested_fields=("invoice_ids",), | |
| required_reply_markers=( | |
| ("refund", "processed"), | |
| ("reference", "id"), | |
| ("timeline",), | |
| ), | |
| required_note_markers=(("duplicate charge",), ("refund issued",)), | |
| risk_flags=("sla_breach", "finance_close_risk"), | |
| follow_up_outcome="complete", | |
| follow_up_message="Customer confirms the refund hit their card.", | |
| follow_up_provided_fields=("refund_reference",), | |
| follow_up_wrong_fields=(), | |
| sla_step_cost=12, | |
| over_escalation_queues=(), | |
| under_escalation_deadline_step=None, | |
| max_steps=6, | |
| ) | |