This question already has an answer here:
I currently hold a US F1 visa on my Iranian passport, and I've booked a flight from NYC to Tehran. The problem is that the trip is from JFK (US) to ZRH (Switzerland), from ZRH to FRA (Germany), and then from FRA to IKA (Iran). I'm wondering if I can stay in the international area of the airport for the domestic flight (ZRH to FRA) because I don't have a Schengen visa. If not, do I need a transit Schengen or another kind? I'm not sure if getting the visa would be easier/cheaper than canceling/rebooking the flight.
edit: turns out that even a transit visa wouldn't work for 2 layovers, so I contacted the booking website and canceled the flight, fortunately with a full refund.