Someone can help me to think in the better way to adapt Dijkstra's Algorithm in these conditions? All I thought didn't was good.

Example of input:

GP4578 MADRID 01:00 PORTO 02:00

IK6587 PORTO 03:00 VALENCIA 05:00 05:30 TENERIFE 08:00

AB5874 VALENCIA 05:40 BERLIM 10:00

"VALENCIA 05:00 05:30" This is a stopover, all of them are about 30min. The flight has arrival and departure time, flight number, the origin and detination city.

So, I need get the shortest path from a city to another, ok, no problem. I can't to structure this, I've been tried since the last week. Someone can give me ideias? Who are my vertex? How to use the edges?