In addition to the Car Specification, a role also defines where the car goes on the layout to fulfil the role. Each of these segments of the car’s journey are currently called a “Leg”. This probably needs a better name, but it will do for now.
A leg includes the type of car bill, the destination track, the load, and the wait time after arrival for loading or unloading, or whatever.
Typical types of car bills are “Empty Supply”, “Freight Waybill”, “Empty Return”, and so on. I call them all “waybills” even though that is not technically correct, but so be it.
Loads will normally be specified only for the freight leg of the journey, but it can be anything that makes sense to the user. A car could be used to deliver one load and back-haul a different load.
The notion of legs can easily be expanded beyond the typical waybills to include extra car moves such as for icing, cleaning, custom’s inspection, and so forth. There can be any number of legs in a role. Each leg also includes the wait time that a car must remain at its destination before being eligible to move again. Usually this is about a day, but could be as short as a couple of hours for icing, etc. Again, it depeneds on the desired effect.
To help visualize all of this, here are a couple of example roles, expressed in English:
Role One:
– Suitable for a Boxcar, 40 feet, Rough, with 8 foot doors, at CPR Staging.
Legs:
– Empty Supply to Shipper A;
– Freight Shipment of Lumber to Receiver B;
– Empty Return to CPR Staging.
Role Two:
– Suitable for a Boxcar, any length, Clean, any width doors, at GN Staging.
Legs:
– Freight Shipment of Appliances to Receiver C;
– Empty Return to GN Staging.
Roles also include a weighting, or a kind of priority, that is used to influence the random selection from all suitable roles. Roles with a higher weighting will have more chance to be selected, while roles that should only be picked on occasion should have much lower weights.
There are all sorts of ways that this concept could be improved going forward. I can see having some of the legs optional with some sort of probability, so as to reduce repetition and boredom. And, it might be possible to have roles that are continuous for cars in captive service that just go back and forth between two locations. Lots to think about.