SMS (aka: Text Messaging) will be a quick and powerful way to provide information the customer will want in a time efficient manner. This will also work with email systems too. For simplicity, the process will show through SMS.
Rider visits a stop, and wishes to know when the bus arrives. Each stop will have a unique number. The rider sends an SMS to +14124422000 with the Station ID. The SMS goes to a cellular gateway which then is retrieved by an Asterisk Server. The server reads the message, does an MySQL lookup, and formats the message in an SMS friendly format to reply to the number that sent the message. The rider then receives the message, and is able to read the information requested. To be more specific, the rider can send the Stop ID followed by a space and the route number. The Server will do the same thing, but only search within requirements of the route number(s) selected. A reply is then sent. The rider can also add a 24H format time to the message which will tell the server to look from that time point on.
A little more complex message can provide two stop IDs with a time point. Assuming that ZIP+4 is supported, one could send the message of 152010000,152060000 A 13:45. This will tell the server to lookup 15201-0000 and 15206-0000, and send back the best route (including transfer) to arrive at the Arrival point by 1:45PM.
Asterisk is free. The most expensive part will be to have a reliable enough system to handle the SMS and properly do the MySQL queries while handling ACTA calls and not crashing. Once this initial system is built out, the system should be able to handle everything needed with basic IT Management. A mirrored system will be used to handle unforeseen system failures or high traffic demands.