Survival analysism

Hi All,

I have to deploy a model to estimate the probability distribution of trains belonging to a “train slot made of 10 trains” to arrive in the next hour/2 hour/3 hour/more then 4 hour at the next train station.
For training, as regressors, the departure time from previous station, number of passengers, the status ( train slot has/has not reached the intermediate touchpoint between two consecutive stations) are available.
If the trains slot has left at 1p.m station A and 3 trains of the slot has reached station B at 2 p.m and the remaining 7 at 3 p.m and the model run at 2 p.m than the model output should be ([“next one hour”, 3 trains],[next two hours, 7trains],[next 3 hours, 0 trains],[more then 4 hours, 0 trains]) if we wanna model it as classification. The model will keep to generate inferences till all train arrive to the station.
The train_slot_Id (and the number of trains we are still waiting) appears multiple time in the dataset per different time stamp (hours) till all the trains in the train slot reach the station. Train_id is not available, data are aggregated at [train_slot_id, time of sample]
I was thinking about survival models and I found a library, namely pycox, with deep survival models. Though the library is not mentioned in the hub neither in the official PyTorch doc so I am not sure I can trust it as state of the art.
Do you have any recommendation on how I should treat the problem and which model to use? Do we have NLP predicting the time between two words?