I know it's not quite what you are looking for, but I do know one merchant who sells a service for a deposit (just like a regular product) then calls the customer to make the appointment.
They just have instructions to this effect.
Somewhat of a work around although I know the customer's love it because of the personal service.
There are a number of booking apps on the store already that allow you to book a time slot on a calendar, including ours: https://apps.shopify.com/bookthatapp
The easiest way to handle the deposit is to make the price of your product the deposit amount and then use POS or create a draft order to capture the remainder later.
Alternatively you can add a deposit product to the cart. We've done this for a number of stores who use our App. This approach is better if you want to have more control over how much of a deposit is charged (e.g. it could be based on the number of products, or the total value, of your cart). Please get in touch if you'd like us to give you a quote on that (support @ zetya.com).