-snip-
@buwaytress may be a member who can help you but be careful of transacting in Iran, I think they are preventing remittances inside so it is better to have cash better than to be BTC.
The exchange rate is good because there are two prices for the dollar in that country.
OP's been put in contact and hopefully things work out =)
It is true that if you're from a country that's sanctioned Iran (US and her EU allies, which OP is likely from, given the favourable exchange rate), you will have to declare any currency you bring in, and given the type of travel it sounds like, you'll probably put yourself at some inconvenience and security concerns if you brought a lot of foreign currency. I'd say that using Bitcoin to pay in advance is probably the only way you can pay without cash (and without transacting in country),,, you just can't use any international wires and there's no Visa/MC/Amex/Discover etc.
I'd definitely bring cash anyway but I'm sure there is better advice from people on the ground.
Most large commercial and business hotels in the cities are linked to sanctioned entities but as a tourist, the regulations are relaxed, plus anyway you have the normal customs declaration that you have to do in any country, as well as for declaration of stay. As a non-commercial party, you're not required to do due diligence on who you transact with. In fact, the US exemptions (OFAC, which is mirrored by EU, and EU is less strict in any case) on sending money to Iran include noncommercial family remittances and travel-related remittances. So, EVEN if the Bitcoin network were deemed a third-party financial entity used to facilitate remittance, the reason of transaction appears to be legal.
(My opinion of course).