My garden railway is too small to replicate railway operations in a strictly realistic fashion, so my operating system is a compromise. Trains are very short, often just a caboose and a flat car, but each train hauls something tangible from point to point. Since the “loads in and empties out” are handled in terms of interchangeable loads, not cars, it means I can get by with a minimum of railway cars on the line in any operating session and nevertheless do lots of operating. In a typical session with four operators, two to a train, train crew number 1 might handle several different loads, for example, a load of tractors, a load of lumber, and a portable oil tank, each load on a separate trip. Train crew number 2 might handlw a couple of bulldozers on the first two turns and a load of logs on the final turn. The strategy of a quick turnaround at terminals helps keep trains out and moving on the mainline.
Although all this isn’t particularly prototypical for freight operations, it does make operating a very small railway easy, fun, and practical.
Here is a plan of the railway:

Trains originate at terminals. This is Littleton, with the tram engine and a flatcar load of tractors about to depart:

Littleton wye is used for turning whole trains. This photo shows the shay and a flat loaded with a bulldozer on the tail track of the wye:

Badsey and its spur track are just beyond the Littleton wye. This photo shows the shay and the same consist heading throught Badsey for Dogdyke.

Dogdyke is the western terminal, connecting with a hypothetical Canadian National narrow gauge branch line. In this photo the shay is arriving at Dogdyke. Already on the Dogdyke siding are the tram and its train.

The tram engine has run around its train and is backing it on to the Dogdyke spur.
