views:

85

answers:

0

I'm currently modeling some domain classes for storing information about products, resellers and payments. Some products can be a typical one-time-payment deal like someone buying an hard drive. Other products may include a service deal with different discounts and payment intervals.

The model should cope with changing product prices, sales, invoices with several products and so on. Changes in product prices should not affect existing service agreements. My main concern so far is how to keep track of payments (and the lack of payments) on service deals.

I'm pretty sure that this problem is solved a million times before. Before I get to far solving this for the 1000001th time I wanted to ask someone who has done this before. Does anyone know about a suited pattern? Hints and experiences are more than welcome! Any gotchas I should be aware of?

Just to make it clear, I don't expect anyone to do my work for me, just give me some pointers :-)