A complicated yet effective solution would be to have every stop be treated like a segment on the back end, so that the system knows how many people are ticketed (and which seats are occupied if seat selection were implemented) on the train at every given stop interval. Southwest does this (for example, they could have one flight with the same flight number that does BOS-BWI-BUF-ATL-FLL-MCO-ABQ-DAL. Southwest knows how many people are booked BOS-BWI, BOS-ATL, BOS-FLL, etc so that they're not overbooking the flight many times over the capacity of the plane).