Home » railML newsgroups » railml.timetable » [railML3] Move category from timetable to common
[railML3] Move category from timetable to common [message #3956] Tue, 07 April 2026 10:02 Go to next message
Milan Wölke is currently offline  Milan Wölke
Messages: 238
Registered: April 2007
Senior Member
Hi all,

we are currently working on the SCOT (Service Concept for Tendering) use case. In this context, we have a new requirement: rolling stock vehicles should be able to reference categories from the timetable. The idea is to indicate which categories a vehicle can be used for. Our current approach is to introduce such references, i.e., a collection of references to collections.

Since the category is currently located in the timetable subschema, and we want to avoid introducing circular dependencies between subschemas, this would require moving the category to the common subschema.

Our first question is whether you see any issues with this approach.

If we proceed, we would also need a clear and descriptive name for the moved category, in particular as the meaning cannot be derived as easily from the context anymore after moving. At the moment, we are considering "trainCategory" or "serviceCategory." Do you have any suggestions?

Your feedback is appreciated.

Best regards,
Milan


Milan Hoffmann – Timetable schema coordinator
railML.org (Registry of Associations: VR 5750)
Altplauen 19h; 01187 Dresden; Germany www.railML.org
Re: [railML3] Move category from timetable to common [message #3977 is a reply to message #3956] Thu, 30 April 2026 12:48 Go to previous messageGo to next message
Christian Rößiger is currently offline  Christian Rößiger
Messages: 82
Registered: March 2015
Member
Hello all,

I have no objection to moving the categories from timetable to common. As categories are also used by IM, for example, to encode certain characteristics of a train, references from other areas than timetable or rollingStock to categories may be needed in the future. So it might be a good idea to move the categories to common.

However, I'm not sure whether letting vehicles reference categories directly is the right way to model this requirement: I rather understand the requirement as a set of rules defining which vehicles should or may be used for certain categories.

In my view, the rolling stock category tends to define the technical characteristics of the vehicles (weight, number of axles or seats, etc.), rather than their intended use in a specific context. In contrast, categories are not technical characteristics of a vehicle but are defined and assigned by the operator as part of the timetable planning process. Instead of having vehicles reference categories, I would therefore suggest explicitly modelling these relationships using a separate structure that references both vehicles and categories.

Example:
<vehicleCategoryRules>
  <vehicleCategoryRule vehicleRef="veh_1">
    <allowedCategory categoryRef="cat_Express" />
    <allowedCategory categoryRef="cat_Regional" />
  </vehicleCategoryRule>
  <vehicleCategoryRule vehicleRef="veh_2">
    <allowedCategory categoryRef="cat_Freight" />
  </vehicleCategoryRule>
<vehicleCategoryRules>

This structure could exist within the timetable or as a separate top-level element.

Best regards
Christian
Re: [railML3] Move category from timetable to common [message #3991 is a reply to message #3977] Wed, 06 May 2026 12:56 Go to previous messageGo to next message
Milan Wölke is currently offline  Milan Wölke
Messages: 238
Registered: April 2007
Senior Member
Hi Christian,

thanks for your input. Just one question, why not simply add the vehicle references to the category? Shouldn't this provide the same information? What is the benefit you see from separating the mapping from the categories?

Thanks in advance.

Best regards, Milan


Milan Hoffmann – Timetable schema coordinator
railML.org (Registry of Associations: VR 5750)
Altplauen 19h; 01187 Dresden; Germany www.railML.org
Re: [railML3] Move category from timetable to common [message #4188 is a reply to message #3991] Tue, 15 September 2026 11:33 Go to previous messageGo to next message
Milan Wölke is currently offline  Milan Wölke
Messages: 238
Registered: April 2007
Senior Member
Hi all,

we discussed this in the timetable developer group and decided that Christian's arguments have merit. As such we changed the approach and created a new root element under timetable.

/forum/index.php?t=getfile&id=209&private=0

As you can see the chosen approach allows specifying for each category a number of vehicles that can be used. It also allows referencing a validity so seasonal changed can be expressed.

What we were unsure about is if this should be referencing vehicles or formations. So far, there is no references to vehicles from timetable. All references to rollingstock have been modelled as references to formations. Referencing formations would allow specifying certain compositions of vehicles, like if there should always be a restaurant car in the formation, but would also introduce an additional overhead when simple vehicles are referenced.

What is your opinion on this? What would be the better reference?

Best regards, Milan


Milan Hoffmann – Timetable schema coordinator
railML.org (Registry of Associations: VR 5750)
Altplauen 19h; 01187 Dresden; Germany www.railML.org
Re: [railML3] Move category from timetable to common [message #4189 is a reply to message #4188] Tue, 15 September 2026 14:50 Go to previous messageGo to next message
David Lichti is currently offline  David Lichti
Messages: 60
Registered: December 2020
Member
For the use case of describing suitable rollingstock for services, it would make sense to refer to formations, I think:

Train services are operated by full formations, not individual vehicles. Assume that vehicle types A and B were associated to a certain category. Does that mean that services may be operated by a single A vehicle, or alternatively by a single B vehicle? Or must it be operated by an A-B formation? And what about about another type C? Could an A-B-C formation be used to operate the services? Maybe that formation would be too long or too heavy for the intended line.

To achieve an unambiguous definition of the suitable rollingstock, the CategoryVehicle structure would have to define the exhaustive list of all suitable vehicle combinations. This would basically replicate most of the formation structure. Hence, it would make sense to refer to formations.
Re: [railML3] Move category from timetable to common [message #4191 is a reply to message #4189] Tue, 15 September 2026 15:42 Go to previous messageGo to next message
Milan Wölke is currently offline  Milan Wölke
Messages: 238
Registered: April 2007
Senior Member
Hi David,
you make a persuasive argument. The whole thing should then probably be renamed to CategoryRollingstock. Agree?

Best regards, Milan


Milan Hoffmann – Timetable schema coordinator
railML.org (Registry of Associations: VR 5750)
Altplauen 19h; 01187 Dresden; Germany www.railML.org
Re: [railML3] Move category from timetable to common [message #4192 is a reply to message #4189] Tue, 15 September 2026 15:48 Go to previous messageGo to next message
Thomas Nygreen is currently offline  Thomas Nygreen
Messages: 137
Registered: March 2008
Senior Member
Dear all,

I think the new concept is quite clean and clear, and since the restriction is timetabling-related, it makes sense to put it in Timetable.

Milan and David have good points about referring to formations instead of vehicles. This comes at the cost of having to list all the desired combinations, but that also provides more information, and requires less interpretation.

It seems that the categories remain in Timetable in this solution?

Looking at two specific parts of the application of this use case in Norway to see how it fits:

1) Different train categories are planned with different max deceleration (due to different comfort requirements)

This could be modeled by (a) duplicating the vehicle (with @basedOnTemplate) (b) duplicating the formation or (c) adding an attribute to CategoryVehicle.

I don't like (c) because in theory this can be applied to any RS property, and we end up duplicating RS properties in TT. And as this is not a physical property of the vehicle, I think two separate formations (b) is the better choice.

2) The category affects the number of available seats. Specifically, some long-distance trains are operated with rolling stock designed for regional traffic. When used for long-distance trains, they have compulsory seat reservation, which doesn't include standing places and folding seats. This can already be modeled per train, and in the new patternTrain, and is probably best kept there, rather than duplicating rolling stock or adding new properties at the category level.

Best regards,
Thomas


Thomas Nygreen – Common Schema Coordinator
railML.org (Registry of Associations: VR 5750)
Altplauen 19h; 01187 Dresden; Germany www.railML.org
Re: [railML3] Move category from timetable to common [message #4198 is a reply to message #4192] Fri, 18 September 2026 21:04 Go to previous messageGo to next message
Thomas Nygreen is currently offline  Thomas Nygreen
Messages: 137
Registered: March 2008
Senior Member
Hello again,

There is also a new vaildForTrainCategory element in Interlocking (spelling should be corrected to validForTrainCategory) referring to the train categories. This indicates that we should still move the train categories to Common, because Timetable makes reference to Interlocking routes.

Best regards
Thomas


Thomas Nygreen – Common Schema Coordinator
railML.org (Registry of Associations: VR 5750)
Altplauen 19h; 01187 Dresden; Germany www.railML.org
Re: [railML3] Move category from timetable to common [message #4199 is a reply to message #4192] Fri, 18 September 2026 21:13 Go to previous message
Thomas Nygreen is currently offline  Thomas Nygreen
Messages: 137
Registered: March 2008
Senior Member
Hello again,

There is also a new vaildForTrainCategory element in Interlocking (spelling should be corrected to validForTrainCategory) referring to the train categories. This means that we should still move the train categories to Common, because Timetable makes reference to Interlocking routes.

Best regards
Thomas


Thomas Nygreen – Common Schema Coordinator
railML.org (Registry of Associations: VR 5750)
Altplauen 19h; 01187 Dresden; Germany www.railML.org
Previous Topic: [railML 3] Qualifier for train times
Next Topic: [railML 3] Clarification regarding unused DistanceBasedCalculationRule element
Goto Forum:
  


Current Time: Fri Oct 16 16:44:44 GMT+2 2026