The Transit app is great for this kind of stuff and many cities have integrated their transit options under a single payment system so you could actually do this. It can even take into account if you have a bike or not and you can specify stuff like "avoid busses".