There are several solutions, and it depends on the needs of the end customer which one you choose to implement.
Option 1: Suggest function or Live Job Scheduling
In this case you give an order with a number of parameters to the API, and ask what it suggests. You will get 5 suggested time slots that fit optimally in the existing schedule, and you will also get an evaluation on the impact on the schedule (e.g. adding this order here will add 16 minutes of drive time to your schedule).
Live Job Scheduling can be applied in a number of use cases:
Option 2: Reschedule
An alternative is to rework the complete schedule while keeping a number of parameters fixed. In this case, you send the scheduling query back to the API, but you specify what is fixed and what can change. Suppose one order drops out on a day, than you can ask the solver to reschedule only the orders of that afternoon and the following day(s). That way the schedule remains the same for all customers, with a few