Best Way to Set 1-month, 3-month, and 6-month Free Coupon

I have to provide a client with 3 different coupons for the membership site that I'm building. Is there a way to do set valid dates for the coupon itself, but how could I go about granting free access with a coupon for a certain amount of time?