I think about the only thing Amtrak has "zero tolerance" for is theft. For everything else zero tolerance just doesn't hold up at arbitration. You must document counseling, remedial training and progressive discipline if you want to fire somebody and keep them fired.
This is totally reasonable managerial policy. However, it makes it all the more important that badly-behaving employees get reported by name. Because the only way they get fired is if they have a *string* of passenger complaints attached to their name.
Unfortunately, most customers never complain; IIRC, the rule of thumb in retail is that for each complaining customer, you have roughly *20* customers who feel the same way and didn't say anything. So by the time an employee has three complaints against them for the same thing, they've probably mistreated 60 customers...