Пересчет цен в запрошенную валюту
Задача пересчета цен в запрошенную валюту - показать корректную цену тура в любой запрошенной пользователем валюте независимо от того в какой валюте выходит данное предложение у туроператора.
Особенности расчета цен туроператорами
Большая часть туроператоров рассчитывает цены на туры в какой-то одной валюте. Чаще всего это евро (для Европейских стран) и доллары (для всех остальных). Некоторые туроператоры используют рубли (например для Российских направлений).
Но чаще всего для оплаты предложений в рублях туроператор имеет свой внутренний курс, который обычно выше курса ЦБ на 2-3%. Курс публикуется на сайте туроператора. При этом если для пересчета в рубли зачастую курс есть у многих туроператоров, то кросс-курса доллар-евро нет ни у кого.
Некоторые туроператоры могут вообще не иметь рассчитанной цены, и производят расчет стоимости тура "на лету" в момент его поиска в системе туроператора.
Все это приводит к некоторым особенностям при пересчете цен. Т.к. в таких условиях нельзя просто пересчитать стоимость тура по курсу ЦБ.
Правила пересчета цен
- Если исходная валюта тура совпадает с валютой запроса - пересчет не происходит, цена возвращается в исходной валюте (цена точная).
- Если исходная валюта отлична от валюты запроса, но известен курс пересчета туроператора - цена пересчитывается по курсу туроператора (цена точная).
- Если исходная валюта отлична от валюты запроса, курс пересчета туроператора неизвестен - цена пересчитывается по курсу ЦБ+2% (цена приблизительная).
Правило 3 необходимо для правильной сортировки туров по цене в случае пересчета. Если пересчитывать по курсу ЦБ стоимость всегда будет ниже чем у туров пересчитанных по курсу туроператора.