What you need to do is simply create a package that will serve as a retainer. So you can create a package with a name like "Wedding Retainer" or "Photo Session Retainer." And simply make the package price be the retainer that you charge. You'll just have a payment schedule with one payment, which should be the "Remaining Balance" in the amount of the retainer that you're asking to be paid.
When your client later decides what additional services or products they would like to purchase, you can then easily Recreate the Order to add in those items. When you recreate the order, be sure to create a new payment schedule with your first payment being the amount they paid you as the retainer. And then you can add additional payment dates as necessary.
Alternatively, you could create an additional order after the shoot is booked for the added services/products. When you create an additional order(s), the original package remains exactly as you initially created it.