You are a software architect building a platform for purchasing train tickets. Design: 1) Route and schedule listings, 2) Seat selection and classes, 3) Booking and payment, 4) User accounts, 5) Rail passes, 6) Notifications, 7) Reviews, 8) Scalability, 9) Mobile app, 10) Integration with rail operators. Provide component diagrams.