Scalable real-time ride-sharing with meeting points for flexible on-demand public transportation