Доработка формы оформления заказа (Битрикс)
Имеется сайт на Битрикс 12.5.
Задача:
Написать новый компонент оформления заказа в один клик на основе стандартного.
Необходимо добавить выбор способа идентификации покупателя (см. скриншоты, переключение должно происходить без перезагрузки страницы). При этом логика следующая:
а) Новый пользователь (данный пункт выбран по-умолчанию)
— В этом случае показать стандартную форму заказа.
— При вводе email'а произвести проверку налету, и если такой пользователь уже существует, то вывести ошибку (см. скриншот) — как для физлица, так и для юриков.
— Местоположение должно подставляться автоматически (должны автоматически выбираться страна, регион и город на основе IP). Можно взять за основу этот модуль — http://marketplace.1c-bitrix.ru/solutions/altasib.geoip/?sphrase_id=2465379
— Расчёт доставки должен происходить автоматически на основе выбранного местоположения и введенного пользователем индекса (т.е. в калькулятор Почты России должен отправляться непосредственно тот индекс, который указал пользователь). Если индекс не указан, то стоимость рассчитывается обычным способом — на основе базы индексов и местоположений из Битрикса.
б) Существующий пользователь
— Если пользователь не авторизован, отобразить форму авторизации (шаблон взять как есть от стандартного компонента авторизации).
— После успешной авторизации возвращать пользователя на страницу оформления заказа.
— Если пользователь авторизован, то показать форму заказа с заполненными из профиля значениями (собственно, стандартное поведение компонента).
в) Оформление заказа без регистрации
— Отобразить поле ввода телефона.
— При оформлении заказа должен создаваться пользователь с email'ом %Номер_Телефона%_%time()%@list-market.ru. Таким образом, даже если пользователь оформит два или более заказов на один телефон не потребуется его идентификация (напр., посредством СМС).
— В поле «Комментрарий менеджера» к заказу подставить текст «Быстрый заказ».
Из способов доставки убрать Авиапочту, оставить только Наземную.
Прошу оценить сроки и стоимость выполнения работ.
Оплата предпочтительнее электронными деньгами или перевод на карту.