Ну типа групп и реализовано у меня уже,
покупка услуг = покупка доступа к группе, услуги будут разные и с разным сроком действия, и их может быть несколько...
Хранить срок действия (день истечения) можно прямо в таблице юзера
- так не выйдет скорее всего, я же за это деньги беру и всегда должен сказать за что списались деньги в любой момент времени, если так хранить то данные затрутся... Сейчас все хранится в отдельной табличке , все связанно, каждая оплата с каждой услугой, можно всегда сказать куда делась определенная сумма со счета, когда и на что.
Наверное первый вариант более жизнеспособен...