Just a thought, but if the routing problem is pretty “easy” compared to the prep problem, you might have some luck modeling using the CP-SAT solver.
In my work, I’ve found that complicated constraints surrounding the availability of workers and the execution of the orders (pickup and/or delivery actions that are non-trivial) are easier to express using the CP-SAT way of formulating problems. Mostly this is because there are tons of examples and documentation for the CP-SAT solver. Then the routing part can be added using CP-SAT’s circuit constraint.
But if the routing problem is hard (lots of nodes, options for each trip, lots of trips to plan, etc) then the circuit constraint seems to be very slow compared to the routing solver. I think it is always possible to express complicated resource allocation type constraints in the old CP solver, but you’ll have to dig a bit to find examples.