E10-F2: Support Ticket Transfer¶
Epic: E10: Customer Support Operations
Size: M (Medium)
Problem / Outcome¶
Support agents process transfers for Transfer=NO tickets.
Scope¶
In-Scope:
- 48-hour rule enforcement
- Identity verification by agent
- Blacklist check for new holder
- Notification to all parties
Out-of-Scope:
- Self-service transfers (covered in E9-F5)
Acceptance Criteria¶
- AC1: Transfer blocked if match < 48 hours away
- AC2: Blacklisted recipient blocks transfer with MUP message
- AC3: Transfer logged with agent ID and reason
Data Model Impact¶
TransferLog table:
- transfer_type = 'support'
- agent_id (UUID, FK)
- reason (VARCHAR)
- identity_verified (BOOLEAN)
- verification_method (VARCHAR)
SupportTransferRequest table:
- id (UUID, PK)
- ticket_id (UUID, FK)
- requested_by_name (VARCHAR)
- requested_by_contact (VARCHAR)
- new_holder_name (VARCHAR)
- new_holder_oib (VARCHAR, encrypted)
- new_holder_email (VARCHAR)
- status (ENUM: pending, approved, rejected, completed)
- agent_id (UUID, FK)
- created_at (TIMESTAMP)
- completed_at (TIMESTAMP)
Permissions/Roles¶
- Admin (Support Agent)
How to Verify¶
npm test -- --grep "support transfer"
Expected: 48h rule enforced, audit logged.
Dependencies¶
Implementation Tasks¶
See E10: Customer Support Tasks
Doc References¶
Last Updated: January 2026