Private
Tracker *Bug Feature Support Testing
Subject *
Description Edit Gap 1: Commerce & Order Realities (The Biggest Missing Piece) No Line-Item Level Selection: Problem: In e-commerce, an order often contains 5–10 items (e.g., 3 plants, 2 fertilizers, 1 ceramic pot). The customer received 1 cracked pot or 1 dead plant. Current State: The ticket only references orderId. It has no orderItemId, productId, variantTitle, or quantity. Impact: The manager is forced to exchange 2–3 back-and-forth messages asking "Which exact item from order #1042 was damaged?", wasting hours of SLA. No Direct In-Ticket Remediation (Refunds / Replacements): Problem: Resolving an e-commerce ticket almost always requires taking an operational action: Initiating a full or partial refund (via Stripe / Razorpay). Creating a zero-cost replacement shipment. Issuing a store credit or coupon code. Current State: The ticket system is a pure text chat. The manager has to open a separate browser tab, find the order in POS, manually compute the refund, and then return to the ticket to copy-paste the note. Guest Checkout Customers Cannot Open Support Tickets: Problem: Up to 40% of e-commerce orders are placed via Guest Checkout (no password/account created). Current State: ticketCustomer.token.js rejects any request without an authenticated clientId/id. Impact: Guest customers cannot access /api/v1/cust-ticket to submit or track a ticket. They have to call or email manually. Gap 2: Real-Time Communication & Agent Collision High Latency Polling (30s – 45s Delay): Problem: E-Commerce frontend polls every 45 seconds ( SupportTicketDetail.tsx:L47 ); POS Staff polls every 30 seconds ( ServiceDeskTicketDetail.tsx:L71 ). Impact: When both customer and manager are online, replies take nearly a minute to appear. It feels like an unresponsive system. Solution: You already have socket.io installed in package.json and initialized in socket/index.js . Emitting ticket:reply to a room ticket:<ticketId> gives instant messaging with zero database polling overhead. No Agent Collision Detection: Problem: If an Admin and a Service Manager (or two managers) open the same ticket simultaneously, neither knows the other is viewing or drafting a reply. Impact: Two different staff members might send conflicting responses or initiate duplicate resolutions. Gap 3: SLA & Business Hours Calculation Flaws Calendar Hours vs. Business Working Hours: Current State: First response SLA is calculated purely in calendar hours: now.getTime() + FIRST_RESPONSE_HOURS[priority] * HOUR ( ticket.service.js:L255 ). The Flaw: If a customer raises a "medium" ticket (8-hour SLA) on Friday at 7:00 PM, its due date is Saturday at 3:00 AM. If the support desk is closed over the weekend, the ticket will be marked Overdue on Monday morning before staff even arrives! Fix: SLA calculation must skip non-business hours, holidays, and weekends. Single-Shot Overdue Alert (No Escalation Ladder): Current State: In customerTicketCron.js:L71 , the cron checks overdueNotifiedAt: null. Once flagged, overdueNotifiedAt is set to now. The Flaw: If the assigned manager is unresponsive, on emergency leave, or ignores the notification, it is never flagged again. Fix: A multi-tier escalation ladder: Level 1: Manager reminder at 80% SLA. Level 2: Manager & Team Lead alert at 100% SLA breach. Level 3: Auto-reassign to Admin/Backup Manager if untouched for 2 hours post-breach. Gap 4: Customer Experience & Quality Control Missing CSAT (Customer Satisfaction Rating): Current State: When a ticket is marked resolved, the customer simply clicks "Confirm Resolution". The Missing Piece: No 1–5 star rating, no CSAT feedback tags ("Fast response", "Polite", "Unresolved issue"). Without this, store leadership cannot evaluate manager performance or identify recurring product quality issues. Uncapped Reopen Abuse: Current State: Customers can reopen tickets indefinitely ( ticket.service.js:L349 ). The Flaw: reopenCount increments, but there is no maximum limit. A dissatisfied customer can reopen a closed case 15 times. Best Practice: Limit customer self-reopen to a maximum of 2 times. On the 3rd attempt, escalate directly to the Admin or convert to a new supervisor review ticket. Gap 5: Omnichannel Inbound Reply (Email) Problem: When customers receive an email update like [TKT-00123] New reply from support, over 40% of customers click 'Reply' directly in Gmail or Apple Mail instead of clicking the portal link. Current State: Your mailer sends from an outbound email address. Replies bounce or land in an unmonitored mailbox. Solution: Add an Inbound Email Webhook (SendGrid Inbound Parse / AWS SES / Mailgun) to map reply-to: support+TKT-00123@yourdomain.com straight into ticket.replies. Gap 6: Staff Productivity Tools No Canned Responses (Saved Reply Snippets): Managers repeatedly type the same answers ("Please share an unboxing photo showing the shipping label", "Your courier tracking number is...", "Refund processed, will reflect in 3-5 bank days"). Adding 1-click canned responses with dynamic placeholders ({{customer_name}}, {{order_no}}) speeds up first response times by 60%. No Video Proof Support: For perishable or fragile goods (plants, pots, electronics), unboxing video (.mp4, .mov) is standard industry proof for courier claims. Ensure attachment handling supports compressed video uploads up to 25–50MB. 3. Recommended Improvement Roadmap Priority Feature / Gap Estimated Effort Impact P0 (Immediate) Order Line-Item Selector: Allow picking specific product items/variants when opening an order ticket. Eliminates 60% of back-and-forth messages. P0 (Immediate) Business Hours SLA: Calculate SLA due dates using operating hours rather than raw 24h clock. Prevents false overdue tickets on weekends and nights. P1 (High) Live Socket Updates: Connect socket.io for ticket chat to eliminate the 30–45s polling latency. Instant messaging experience. P1 (High) Guest Customer Ticket Flow: Allow ticket submission by Order No + Email/Phone OTP. Supports customers who checkout without accounts. P1 (High) CSAT Rating on Resolution: 5-star rating + feedback prompt on ticket confirmation. Crucial KPI for Customer Service Manager appraisal. P2 (Medium) Canned Responses: Saved reply snippets in POS Service Desk. Halves manager handling time. P2 (Medium) Inbound Email Webhook: Ingest customer email replies automatically into the ticket thread. Seamless omnichannel support.
Status New
Assignee Ajit ABindu DandaChandra SekharDivya InapakurthiKarthik PalakondaPavan Kumar MuralaRavi Shankar PalleRavindra AtthotaSai MahanandaSai Priyatham SadineniSowjanya atthotaSravani RangannapalemTeja Sriram SanganiYalavarthi Thriveni
Target version Sprint (10/05/2026- 10/09/2026) sprint (10/12/2026 - 10/31/2026) Backlog
Parent task
Estimated time Hours
Tested Date *
Raised by Tester Mahananda Sai Manikanta Sravani Phanindra
Page/ Module (POS) *--- Please select ---E2E Dashboard POS Customers Requests Quotes Invoices Jobs Users Partners Labor Field Staff Events Warehouse Featured Items Help Guide Services – Categories Services – Services Products – Categories Products – Sub Categories Products – Products Assets – Categories Assets – Assets Assets – Usage Sales Sales Return Purchases – Vendors purchases - vendor invoices Admin – View Orders Admin – Offers Admin – PreOrders Admin – Coupons Admin - Delivery Configuration Maintenance – Products Maintenance – Assets Subscriptions – service Plans Subscriptions – Subscribers Subscriptions – Buy Plan Subscriptions – Share Plans Login Product Subscription E commerce Product Qoutations post job flow Expenses