Almost everyone needs Iran tourist visa for visiting Iran especially Canadian passport holders. Based on Iran’s political regulation Canadians are not allowed to travel by their own and they have to sign up in a guided tour in advance through a local travel agency. They are not even allowed to obtain visa upon arrival and everything must be sorted out in advance.
A travel agency would apply for authorization code through ministry of foreign affairs website as soon as they meet all required documents such as valid passport (usually scan of front page is required), filled visa form, two ways confirmed flight ticket to/from Iran in addition to signed invoice. Usually it takes 30 working days to provide this code and travel agency has to share this code with Canadians traveler(s) as soon as it is received.
Then Canadians can refer to any of Iranian overseas embassies/consulates (that traveler will choose in visa form where to collect visa) to obtain visa which is valid only for tour’s duration. Approval may take few days. Please consider the nearest Iranian embassy to Canada is in Paskistani Embassy of Washington DC where Iran has a department and if this embassy has chosen for obtaining visa, Canadians must mail passport to this embassy in addition to other requested documents.
Extending visa is almost impossible for Canadians unless return ticket is changed or airline announces it will be delayed or cancelled. Then to prove this in few days before departure, traveler(s) has to refer to visa department office in either of major cities to extend visa by having either printed email from airline or new flight ticket in addition to receipt of extension fee.