Home » railML newsgroups » railml.timetable » [railML3] Modelling Crew Assignments
[railML3] Modelling Crew Assignments [message #3866] Tue, 13 January 2026 08:08 Go to previous 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>
 
Read Message
Read Message
Previous Topic: [railML3] Crew exchange / Personalwechsel
Goto Forum:
  


Current Time: Sun Feb 15 02:03:24 CET 2026