here is a model attached that should implement something similar what is in your picture. You can set the vehicle to start and stop at the designated positions with the global variables in the frame.
You should now be able to open the model. Whenever the vehicle stops you can make it continue driving on the track by running the Start_vehicle method in the frame.
Attached is the model with the function to loop through all of the possibilities described in the list file, stopping at the respective sensors and the stop position in every round for a short while. After all possibilities are looped through, the vehicle stops at the stop position. The time that the vehicle waits at a station and at the stop before continuing to drive can be designated in the variable "Waiting_Time".