In case you do not want to take a flight, you'd better take it in this order so that you can have a break in each city. Day 1 Tehran Day 2 Tehran Day 3 Yazd by train Day 4 Yazd Day 5 Yazd Day 6 Shiraz by morning bus Day 7 Shiraz - Persepolis Day 8 Shiraz overnight bus Day 9 Isfahan Day 10 Isfahan Day 11 Isfahan Day 12 Abyaneh and Kashan - back toTehran in the afternoon or next morning