Thanks for the compliment on the cart! It sounds like the cart will work for you in the steps you described.
3) You could use the bill me later option or just set the payment gateway to manual both options will prompt the user to enter their credit card info, save it to the database but will not process the credit card. After the job is complete and the final total is calculated you can go into the manage orders screen and update the order information with the correct amounts and save the order and click the "send email" button to re launch the email confirmation to the user. To process the credit card after your job is complete and the correct costs are entered for the order you will need to go to your virtual terminal provided by your payment gateway (i.e. Authorize.Net, etc) and process the credit card on the virtual terminal. The virtual terminal also allows you to void and issue credits for your customers credit card transactions.
9) After you ship the order go to the manage orders screen and change the status to "Shipped"
Hope this helps!
-Scott