What will be the best data model for membership based websites? I am building a paid membership based website where user can signup for different kind of membership. Membership will essentially enable or disable certain pieces of functionality in the website. A user can upgrade his membership.

What I am looking for is a datamodel that will capture the 


Payment information
Any upgrades done 
Next Due dates 


etc...

Thanks
Check out the free data models at databaseanswers.org for inspiration.

Once you've attempted something yourself, we can help fine tune it.