Ok, here goes. Warning: I might not get all this dead nuts accurate, and this is probably more than you wanted, but...
When a new car is scheduled to be manufactured, the prospective car owner first needs to decide on how the car is going to be identified once active on the North American rail network. Each car requires a reporting mark and a number in a unique combination. A reporting mark is a two- to four-letter alpha code that identifies the ownership; the number is… well, just that… a one- to six-digit identifier. The owner will either have an existing reporting mark assigned that they can use or, if not, they must apply to the Association of American Railroads (AAR) for a reporting mark assignment. One can request any combination of letters so long as it is unassigned, but non-railroad owner marks must end with an “X”, as in UTLX, GATX, etc. Different car fleets under one road/owner may be segmented by reporting marks for ease of identification. The letters are usually not randomly selected. (Example: All UP reefers are stenciled ARMN... I’ve no idea on the history behind that reporting mark, but I’d bet a nickel it’s not random and stands for something.)
Once the reporting mark is decided upon/assigned, the owner “pre-registers” the car reporting mark(s) and number(s) in a centralized equipment registry and database called “UMLER” (which stands for Uniform Machine Language Equipment Register). UMLER is accessible by subscription through Railinc. (Railinc is a wholly-owned subsidiary of the AAR, based in NC which acts as the railroad’s primary data clearinghouse, particularly for North American system-wide activities. The pre-registration effectively gets the cars “in the system”. Subsequent to pre-registration, the owner (in the event of railroad-controlled equipment) will negotiate bilateral agreements with other carriers to establish car-hire rates. (Also called per-diem and established on a cents per hour basis.) These rates (which may be different from carrier-to-carrier) are entered into each car’s CHARM file (Car Hire Accounting Rate Master) within UMLER. Additionally, the owner will enter a plethora of builder-supplied car detail in UMLER: Dimensions, gross weight limits, capacity, wheel size, etc.
When the car comes off the manufacturing line, it is given a final inspection. A Certificate of Acceptance (C of A) is generated by the builder and forwarded to the owner. Once the C of A is received, the owner goes back into UMLER, enters the built date and activates the car. Cars are then assigned into a “pool” (rail-controlled equipment) or lessee (private equipment). Pools could be an individual shipper pool, railroad pool, or a national pool. Pool codes are used by car distributors at individual roads to help figure out which car goes where.
Manufacturers are given shipping instructions by the new owner. The railroad(s) involved with transporting the new equipment to its first point of loading or home road will charge a mileage-based rate for equipment move.
Before shipment, all cars are “tagged” with an Automatic Equipment Identification (AEI) RFID tag on each side of the car that contains, at a minimum, the car’s reporting marks and number. Once out of shop, the cars are rushed to the nearest rail yard to then get tagged by idiots with spray cans and too much time on their hands.
Oh, a twist with private cars. When a shipper wants to bring cars into their fleet at a particular location, they need to apply for permission to the serving railroad. This is called OT-5 Authority and is meant to: 1. Give the railroad some power over preventing congestion at a certain industry/serving yard, and 2. Give the railroad some power over shippers unfairly displacing railroad-owned equipment with privates. Privates are typically not subject to car-hire. Rather, the railroads pay the owners a (value-based) mileage rate when moving loaded to compensate for the shipper having to bear the equipment cost. Most shippers today opt out of private mileage rates (it’s an accounting nightmare) in exchange for lower net rates.