How do I figure TOTAL DURATION for specific group
You just need to take the difference, in minutes, between the lowest date and the highest date, per card:

SELECT [CARD #], duration = DATEDIFF(MINUTE, 
  MIN([REDEEMED DATE]), MAX([REDEEMED DATE]))
FROM dbo.table_name 
GROUP BY [CARD #];