This package defines a model for planning timetables for model railways. The model contains the following objects:
- Stations and station tracks.
- Track stretches and their combination into timetable stretches.
- Trains with times and notes.
- Vehicle schedule for loco and trainset.
It also implements a set of validation rules to check conflicts. The following checks are implemented:
- Station track comflict: when more that one train is scheduled to occupie the same track at overlapping time.
- Strech conflict: when more trains than available parallel tracks is scheduled between adjacent station in overlapping time.
- Train routes conflict: jumping over stations; all passed stations must have time.
- Train timing conflict: times in wrong order compared to route.
- To slow or to fast scheduling times.
Other checks that might be included are:
- That a loco is assigned to all parts of a train.
- Warn if train has more than one loco for some part (however this can be intentional when running multitraktion).
- That all loco parts have been assigned to a duty (except for stretches when secondary units don't require a driver).