Iran airlines and railways have lots of domestic flights and trains in almost every route. With the notable exception of Iran Air, it is pretty much impossible to book domestic flights outside Iran as there are no English online booking systems available that accept foreign credit cards. The same problem exists with domestic railways.
Domestic flight/ train prices are set by the government and are incredibly cheap by western standards. Flight prices are constant across all airlines so it does not matter which airline you fly with, you can decide based on the flight time.
Prices are all per one-way sector and exactly double for the return, so again this offers great flexibility.
Iran Tour Operator can book any domestic flight/train for you in advance; as space is often limited closer to the date of departures due to the flights and trains being relatively cheap.
For further information regarding domestic flight/train schedules, fill out the Flight/Train Reservation Form.