I think you would first need a high level estimates table. This table would get a new record when the user initiates an estimate.
If you have a table that matches the cart as far as the columns go you can have the user add items to the estimate by inserting new records into this estimate items table. You should have a single insert for each item the person adds. You will also need to make sure you insert a reference to the main estimate that you inserted when you started the estimate.
Once you have the inserts occurring correctly in the end you can just have a recordset that selects all of the items from the estimate items table for that estimate. You can then use the eCart add to cart from recordset to populate the cart with the items from this recordset. From there it would be a traditional ecommerce site that would have a view cart page and a checkout process so the user can transact.
Getting the estimate part together is a custom implementation so it is not something that I can provide a great deal of support for. If you have any questions I will answer them as best as I can and help you with what I am able.