For this project, the client asked me to add a subscription system so all products in the database could be subscribed according to a configuration key which specified discount levels in admin for subscription frequency.
During checkout, the customer chooses the delivery frequency, with a discount calculated from this. He also chooses a startdate for the first delivery.
On the payment page, order total values are adjusted to reflect the subscription frequency. A link back to edit the startdate/frequency is provided, and all subsequent delivery dates are calculated and shown.
Checkout confirmation also shows the new subscription box with the new values. The order email is created accordingly, and order history pages reflect the subscription in the same way. In admin, subscription info has been added to the right preview box of each order, and detailed info can be found by clicking on the order. Invoice and packing slip have been adjusted.