Premium RBAC

Mam takie pytanie. Na jakiej podstawie sprawdzać czy użytkownik ma jeszcze premium czy mu się skonczyło?

Potrzebne nam są. Data startu premium- zakupu, Obecna data, czas na jaki został zakupiony premium. Ze wzoru

[Obecna data-Data zakupu=aktualna ilość wykorzystanych dni premium]

wychodzi nam ile pozostało dni premium jeszcze. Teraz;

Tworzymy uprawnienie premium, tworzymy użytkownika Premium, przy zakupie w tabeli auth assignment łączymy usera z członkiem premium. Wszystko się zgadza, potem sprawdzamy sobie w kodzie uprawnienie. Tyle, że skąd wziąć czas zakupu premium, np 30/60/90 dni? bo data zakupu premium jest to przypisanie w tabeli auth assignment usera do roli członek premium. No ale nie ma podstawy wyliczenia tego? Jakaś tabela typu Premium?

i jeszcze jedno. Jeżeli minął czas premium to rozumiem update użytkownika któremu się premium skończyło w tabeli auth assignment po przez crona ?