Drupal 6, Ubercart 2.x,
Customers can choose any delivery day and time from tuesdays to saturdays. When a customer logs in the first page he will see is a table with optional dates and times. After selection the customer can start shopping.
During shopping products can be added to the cart but products can also be added to personal shopping lists to be saved for later use. Shopping lists can be created by the user himself. When the users views the shoppinglist-page all products can be added to the cart at once (or just one at a time if the user prefers).
Further on the discount module is used and VAT (European VAT has two types: 6% and 19%)
Product kit for recepies (and possibly future discount offers).
Products are shown on pages for their categories. These are made with Views. The catalog module wasn't used.
Payment is done on delivery with a mobile card-reader!
The date and time selection was created with the delivery timeslot module. Because of certain client wishes I took that module as a startingpoint and developed some extra features like pre-order timeslot selection and for the backend product tables with all products that are ordered for a certain day (downloadable in CSV format). This table is used for ordering stock supply of the day-fresh and week-fresh goods.