Może ktoś z Was przerabiał modelowanie “promocji”. Mam pakiety usług, które posiadają swoją cenę - tu nie ma problemu.
I teraz tak, chcę dodać do sprzedaży promocje typu:
Promocja 1: pierwszy miesiąc złotówka, dwa kolejne 50% rabatu. Czas trwania umowy 12 m-cy
Promocja 2: 70% na cały czas trwania umowy, Czas trwania umowy: 24 m-ce
Promocja 3: 6 m-cy po złotówce, Czas trwania umowy: 24 m-ce
itd.
Problem jest taki, że generując umowę muszę wyliczyć przyznane ulgi, więc muszę w modelu zawrzeć w jakiś sposób konkretne miesiące.
Jakbyście to rozwiązali? Model Promotion -> has_many: promotion_periods i PromotionPeriod z konkretnymi wartościami na poszczególne m-ce czy jakoś inaczej?
W ten sposób mogę w zasadzie stworzyć dowolną promocję i dowolnie kształtować ceny w trakcie jej trwania.
Promocja będzie przypisana do Pakietu Produktów (a w zasadzie uściślając - usług) - który ma ustaloną konkretną cenę. Umów jeszcze nie robiłem, ale na jednej umowie będzie: jeden pakiet i jedna promocja