
Staging yards are a completely different kettle of fish. First off, the term is loosely used. That alone fosters misunderstanding. They are in fact strict physical things. The basic physical idea is that a staging yard is hidden under the layout or in places such as back behind the layout against a wall. In many occasions such yards are very difficult to get at physically. Hence a train that goes in, comes out with the exact same cars, little if any changing of cars. And it is here were the problems have arisen. It is used strictly to get shipments on and off the layout to the "outside world".
Staging yards follow a number of rules, or laws if you will:
1) A train that goes in must have a different train number than the one that comes out otherwise you can only have one running at any given time. That is, if you want the into staging train to pass the out of staging train they must have different numbers. If you stage more than one train, they each must have different names/numbers.
2) The train that goes into staging and the one that comes out are physically the same. The only difference is the designation.
3) Because of 2, the out of staging train cannot run until the into staging train runs first. You cannot run a train that physically is not present.
4) Because of 3, a train cannot start from a staging yard. That is, you cannot have a train that comes out of a staging yard without one that goes in first. Hence any routes that start from a staging yard will require that you first run a train into the staging yard or manually create a train in staging.
Now within that, we get variation and exceptions.
5) Multiple train designations for the same physical train that leaves a staging yard. Thus Train_1_In that goes into staging does not have to return designated as Train_1_Out. The same physical train emerges from staging, but may take on any one of a number of names and run any route. This program supports that. Two forms of that implementation are when you create the into staging train, and add it's corresponding out of staging train, you can add any one of a number of other out of staging trains. Thus you will have the ability to select which linked out of staging train to run after the into staging train arrives. The other implementation is the ability to transfer an into staging train to any one of the out of staging trains, linked or not, including
itself. (thus the out of staging train can assume the same name as the into staging train.)
6) Ability to run a train where the route starts from a staging yard. This means seeding a train, especially for it's first run.
This includes not only placing cars and engines manually on such trains, but assign appropriate shipments to the cars ahead of time.
7) Cars and engines have problems and need to be removed or exchanged.
8) Staging yards can have different names for the same physical location. That is, you can have a looped layout where cars coming east out of the staging yard are actually leaving Yard A in Town A looping around to Yard B in Town B which happens to be the same physical yard. Trains can go west out of yard B and loop back to Yard A. The problem here is that to get the train back to Yard A again requires manual intervention in the program, but may not mean doing anything to the physical train. That's where the transfers come in.
All this disappears if in fact trains get broken up upon arrival and mixed into the general pool of waiting cars. You no longer have a staging yard, but a fiddle yard.
In a single phrase, staging yards are a royal pain from a programming point of view. Their use is very popular as they are used to provide layouts with an "out". That is, they are used by layouts to hide trains that leave the layout and are a mechanism to bring trains back onto the layout from the outside world.
For programming, they are a pain for two main reasons. 1) the concept of a staging yard is loosely defined, and 2) because of the strict definition of a staging yard the same consist of cars that returns on a train is that which left the layout. In a pure staging yard there is no shuffling of cars on any train that enters a staging yard. It's a what-goes-in-must-come-out. And that is where the pain sets in.
There are a number of logic problems this produces. First, if a full shipment off the layout that uses a car type does not have a corresponding return full shipment of that car type, what does that car return as? Second, you have shipments off the layout through a staging yard that uses 10 of a specific car type, but only 1 shipment returning to the layout of that car type. Which of the 10 cars is used, and what happens to the other 9? Third, you have created a shipment from a staging yard onto your layout, but a car of that type is never sent to that staging yard.. Thus the shipment will never happen.
This program handles each of these in a manner that will allow you to better manage your trains in and out of staging yards. It will give you an over all view of how many shipments for each car type are going into and out of your staging yards. Plus the ability to create shipments to balance these cars.
For the first problem, any cars returning to a staging yard that cannot be assigned a shipment can be returned as one of two possibilities. If nothing is done, they will return to the destination yard of the outbound staged train as empties. The other option is to ship the car to another staging yard (or any yard that accepts shipments). This is referred to as bridge traffic. You will have to create these types of shipments and they have a lower priority of being assigned to a car than full shipments onto the layout. That is, once all shipments onto the layout are fulfilled, what is left will be assigned any of these bridge shipments you make. After that, any remaining cars return to the destination yard empty.
The second problem is first solved in the program by randomly assigning the shipments to a car, the rest of the cars will follow the first solution above.
The third problem is more difficult. Without a car on the train to assign a shipment to, the shipment out of the yard cannot occur. The solution to this is to assign empties to the train before it goes into the staging yard. This has to be manually done by you (no, not every time the train is run, only once in setting up the shipments). And, in fact, is the only time you will create empty car shipments. That is, you can create empty shipments into staging yards that trains destined for staging yards will be assigned to. This will then give the ability of those cars to be assigned full shipments back to the layout.
All of this functionality is available on the Shipments Form on the Staging Yards tab. This tab shows all the yards as columns, all the car types/commodities in rows, and the cell intersections will show how many cars are needed for the shipments. There are two lists, inbound to staging, and outbound from staging. There is a third list that goes through them both and shows where the discrepancies are. You then have the ability to "fix" the discrepancies.
Be warned that this is not the end of the story. There is also the problem of space to hold trains. In the extreme if you have one track in one staging yard that can hold only 10 cars, but you have indicated that there should be 50 shipments from that yard back onto the layout, 40 of these shipments simply will not occur no matter how much you try to balance things out. This is your problem to solve. Either add more tracks or do not have so many shipments.
If you have a yard that you call staging, but in fact break trains up (either manually, or classify), then you do not have a staging yard by the definition in this program. For such a case, you have a normal yard or a fiddle yard (if you manually remove cars). But what do you do if your yard does both the strict definition of staging and sorting? The solution here is to make two separate yards. Call them obvious names.
Beyond all of this, the program has built in some flexibilities regarding staged trains. There are three possible movements for a train and staging yards. Graphically, these are shown below in the figure.
1) Normal yard into a staging yard. In this case the train can be either assigned to another staged train, or return as the same staged train. This is the Yard A to Yard B in the figure.
2) Staging yard out to a normal yard. To do this requires either a previous train runs into the staging yard, or you manually seed such trains with cars. Yard B to Yard A in the figure.
3) Staging yard out then into another, or the same, staging yard. Same rules for getting cars onto such trains as #2. Yard C to A in the figure below

A train that returns from a staging yard does not have to run the same route as the train that entered the staging yard. In fact, the program allows you to have many routes, or exit trains, for any given inbound train. But only one of these exit trains can be run at any given time, and only after the inbound train arrives in the staging yard.
You also have the ability to manipulate the cars on the staged trains. This includes adding and removing cars from such trains. This does, however, require more interaction with the program. But it does give you an "out" for staged trains.
Above is a hypothetical example of how staging yards can be used. Trains running between Yard A and Yard B is the simplest. Trains run into the staging Yard B and emerge later as another train. Train 1In can emerge as any one of a number of train numbers, and does not have to follow the same route or end at Yard A.
The bottom example is more complex. In this example there is one physical yard, but it is set up as several yard names and functions. Yard C and Yard D are different names for the same physical yard. Trains enter one end and emerge at the other. That is, Train 3In runs fromYard A and arrives at Yard D-1, the staging yard. It later emerges as a different train but from Yard C-1, even though the train does not physically move from D to C. Complicating matters more is that mixed with this is a normal yard where cars get taken off the train. Thus Yard D and C are sub-sectioned into a staging portion and a non staging portion.
In both these examples, a train starts at a non staging yard and ends at a staging yard. If, however, you have a train that starts at Yard C-1 (staging) goes to Yard A then loops back to Yard D-1 (staging) then the problem is the first time this happens there are no cars for the train to start with. Thus you will need to seed this train manually with cars to get it started.
A train can start at a staging yard, and end at a staging yard, but it cannot visit a staging yard mid route. That is, a train cannot run from Yard A, to Yard B, then to Yard D-1. The reason is by definition cars stay on the train at a staging yard, so how can it drop off cars at Yard B, when the train is no longer there, moved on to Yard D-1? Thus any train that has a staging yard in it's visits can at most be 2 and must be either at the origin or destination yard. Bottom line, cars cannot be left at a staging yard trainless. If it does, then the yard is not a staging yard.
There is, however, a wide array of methods of running trains in and out of staging yards. There are two broad categories. Automatic returning trains and manual returning of trains.
The automatic return of trains is graphically depicted below:

Train T1 goes into staging. Train T2 will automatically assume T1's consist upon arrival. Thus T2 is running the same route that T1 ran in. You can add more trains tagged to T1. Trains T3 & 4 are tagged to T1 but do not assume the consist right away. When you go to run T3, and T1 has entered staging, you will be prompted as to if you want to move the consist from T2 to T3. You'll note that T3 and T4 do not have to run the same route. T1 cannot run again until one of the tagged trains leaves to reenter the layout. Thus if you have trains that pass each other at the staging yard, you will have to have 4 specific trains, two in and at lease two out.
In the next example, there is no direct coupling of the trains in or out of staging.

In this case, T1's consist is not automatically transferred to any of the trains in staging. Once T1 arrives, the train must be manually released and the cars moved to the train you want to run next.
Both of these options are available. Obviously the automatic transfer is the less computer input, where as the manual will require more computer time each time a train runs into staging.
This begs an important question, why the different categories? Which one is best for your situation? The answer is that linked trains will automatically transfer a train that arrives in staging to another train without intervention and is the simplest to implement and use. With that comes the restrictions noted above.
Unlinked is when you have a wide array of actions coming and going from staging yards that is too complex for linking. It offers the most flexibility, but at the same time requires more thought and more user input.
Most likely you will start with the linked trains and see how it pans out for your situation, then advance to the unlinked trains later on.
Interchange handles all the situations noted above, however, some manual manipulation will be required for complicated staging procedures. There is an entire form for managing staged trains. In there you can seed a train, add more cars, remove cars, add and remove locomotives from any staged train.