Uses isAvailable() in updateCoupon()