Map route with subway and walking

Maybe my google skills are bad but for the life of me i cannot find how can i take a route from A to D, and get the fastest route between those points, while taking into consideration the subway system.

So i would get

'walk from A to B ( subway station ).
Take subway from B ( subway station ) to C ( another subway station )
Walk from C to D.

Is there any api online where i can achieve this or any library that does this processing offline? I just cant find anything, i am kinda shocked too.

I think that one of the problems is that there is usually no physical connection between the platforms and the stop positions on the rails. That makes it impossible for the classic routers to route.
For overground lines you could bypass this in a very crude way to just allow routing via rails, but that will connect you via any level crossing, which is not what you need either.
For subterrainian lines this is impossible of course.

You would need a router that automagically finds the two closest stop positions to both the starting and ending point and do three seperate routes for that.

I think an app like supports this type of routing, see