Home » railML newsgroups » railml.timetable » [railML3] Modelling Crew Assignments
[railML3] Modelling Crew Assignments [message #3866] Tue, 13 January 2026 08:08 Go to next message
David Lichti is currently offline  David Lichti
Messages: 54
Registered: December 2020
Member
Hi railML people,

We recently got the request to include crew assignment data into our railML timetable export. By crew assignment, we mean that some crew is assigned to a section of a train journey. Each of these assignments also has a specific role. Our TPS.plan currently supports 4 different roles:
  • Train Manager
  • First Driver
  • Second Driver
  • Reserve
But this list is certainly not complete.

As far as I could see, the standard railML 3 schema does not provide any elements to properly model such information. Hence, we are thinking about an extension of the standard operational train variant element to include these crew assignments. It could be something along the lines of the code below.

Does anyone have similar needs? What do you think?

Best regards

David

<xs:complexType name="OperationalTrainVariant">
  <xs:complexContent>
    <xs:extension base="rail3:OperationalTrainVariant">
      <xs:sequence>
        <xs:element name="trainCrew" type="tps:TrainCrew" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="TrainCrew">
  <xs:sequence>
    <xs:element name="trainDriver" type="tps:CrewAssignment" minOccurs="0" maxOccurs="unbounded"/>
    <xs:element name="trainManager" type="tps:CrewAssignment" minOccurs="0" maxOccurs="unbounded"/>
    <xs:element name="crewAssignment" type="tps:CrewAssignment" minOccurs="0" maxOccurs="unbounded"/>
  </xs:sequence>
</xs:complexType>

<xs:complexType name="CrewAssignment">
  <xs:sequence>
    <xs:element name="range" type="rail3:Range" minOccurs="0" maxOccurs="1"/>
    <xs:element name="crewDesignator" type="rail3:Designator" minOccurs="0" maxOccurs="unbounded"/>
    <xs:element name="crewName" type="rail3:Name" minOccurs="0" maxOccurs="unbounded"/>
  </xs:sequence>
  <xs:attribute name="roleDescription" type="xs:string" use="optional"/>
  <xs:attribute name="validityRef" type="rail3:tRef" use="optional"/>
</xs:complexType>
Re: [railML3] Modelling Crew Assignments [message #3873 is a reply to message #3866] Mon, 19 January 2026 13:39 Go to previous message
Milan Wölke is currently offline  Milan Wölke
Messages: 215
Registered: April 2007
Senior Member
Hi David,
actually we have had a working group work on this topic a few years back. It was still in the context of railML 2, but the analysis done could be reused for railML 3 as well. Do I understand it correctly that you would be interested in participating in a working group moving this forward?

Best regards, Milan


Milan Hoffmann – Timetable schema coordinator
railML.org (Registry of Associations: VR 5750)
Altplauen 19h; 01187 Dresden; Germany www.railML.org
Previous Topic: [railML3] Crew exchange / Personalwechsel
Goto Forum:
  


Current Time: Wed Feb 18 13:43:46 CET 2026