Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Внизу https://mos-radius.ru есть форма с вкладками: Экскурсии / Сертификат на экскурсию

“Экскурсии” переименовываем в “Экскурсии в ассортименте”.

Добавляем между имеющимися двумя вкладку: Экскурсия на заказ.

Это форма-калькулятор. Часть значений указывает пользователь, другие переменные тянем из

https://mos-radius.ru/wp-admin/admin.php?page=transport_settings

Поля формы в данной вкладке:

Кол-во участников экскурсии // варианты: 1-6, 7-12… 41-50.

Кол-во часов // поле со стрелочками вверх-вниз справа от инпута. По-умолчанию: пустое, минимальное значение: N (сделать возможность задать в админке, называем “Длительность минимального заказа, часов”. Целое значение. Сейчас задать: 3). Если пользователь указал меньше, скажем, хочет на 2 часа, то при попытке отправки формы сообщаем: “Минимальное время заказа: N часов. При желании Вы сможете завершить экскурсию раньше”.

Транспорт: “требуется? / не требуется (или у вас свой) / требуется”

Заявка: Пожалуйста, опишите задачу - чего бы вам хотелось от экскурсии.

Дата, время

Заказчик: кто?/юридическое лицо/физическое лицо

Ориентировочная цена: // сюда выводим рассчитанное значение

Если потребуется дополнительная разработка маршрута, цена может незначительно увеличиться // пояснение для клиентов, более мелким шрифтом на 1-2 пт.

Имя

Телефон

Электронный адрес

Кнопка “Заказать экскурсию”

Обязательные поля - дата, время, и телефон.

В https://mos-radius.ru/wp-admin/admin.php?page=transport_settings добавить новые поля.

Там есть две таблицы: Диапазон для обзорной экскурсии * и Диапазон для всех экскурсий *

Меняем их на две новых:

Стоимость гида:

--- Таблицы здесь нельзя вставлять, поэтому дам задачу с таблицами Исполнителю.

Ячейку вида “X-Y человек” надо разбить так, чтобы была возможность задать произвольные X и Y.

Из таблицы следует, что, например, гид для 13-19 человек на 3 часа на русском языке будет стоить клиенту: 10,5 тысяч рублей.

Сейчас цена экскурсии длительностью 2,5 часа на русском языке для 1-6 человек задана в админке: 6000 рублей. В таблице столько же - теперь и во вкладку “Экскурсии из ассортимента” надо тянуть цену из этой таблицы (все ассортиментные экскурсии кроме Обзорной длятся 2.5 часа).

Цена гида для кол-ва часов более 4 высчитывается из поля для 4х часов. Например, если юзер делает в форме заявку “Экскурсия на заказ” на экскурсию на русском языке для 25 человек на 5 часов, где транспорт не требуется, то цена экскурсии составит: 16*5/4 = 20 000 рублей.

Цена на иностранном языке увеличивает цену экскурсии в таблице на заданное значение. Например, цена экскурсии на немецком языке длительностью 5 часов должна увеличить цену экскурсии на 5 000 рублей относительно русского языка такой же длительности.

Обзорная экскурсия и экскурсии на заказ, требующие транспорта, нуждаются не только в стоимости гида, но и в стоимости аренды транспорта.

Цена аренды транспорта зависит от кол-ва пассажиров (потому что кол-во пассажиров определяет нужный вид транспорта) и часов аренды.

Для цены аренды авто понадобится таблица (с возможностью добавления новых интервалов):

Ячейку вида “X-Y человек” надо разбить так, чтобы была возможность задать произвольные X и Y.

Например, если юзер на сайте выбирает экскурсию на заказ для 5 человек на N часов, то цена транспорта будет считаться (N+1)*1200, при этом для N от 1 до 3 включая, она будет одинакова и составит (3+1)*1200 рублей.

Допустим, юзер хочет заказать экскурсию на авто для 9 человек на 5 часов:

  • Цена аренды авто составит: (5+1)*1500 = 9 000. Если тоже самое, но кол-во часов 3, то цена аренды: (4+1)*1500 = 7500 рублей.
  • Цена аренды гида составит для 5 часов (согласно прошлой таблице): 12*5/4=15 000 рублей. Для 3 часов: 9 000 рублей.
  • Итоговая цена экскурсии с использованием авто в данных случая: 24 000 и 16 500 рублей.
Также добавляем возможность задать повышающий коэффициент, который зависит от даты в календаре.

Первая строка: должна быть возможность задать интервал даты-времени, в котором цена экскурсии возрастает в N раз (с точностью до сотой).

Вторая строка: нужна возможность увеличить цену для экскурсий в ночное время.

Можно реализовать эти поля иначе, но я подумал, что сделать такую лолгику для времени, где дата задана нулями - это ок.

Если одновременно выбранное время и дата приходятся на две и более корректировок (праздничная дата и ночное время), то они перемножаются.

В форме при выборе даты пропали стрелочки вверх-вниз. Пофиксить. Это случается периодически после каких-нибудь правок.

Операция +/* позволяет прибавить к ценам часа и авто фиксированное значение в рублях или умножить цену экскурсии в N раз.

---

Если на сайте авторизован пользователь и имеет роль: администратор или редактор, то в форме справа от рассчитанной цены через “ гиду: ” более мелко показываем суммарный гонорар гида. В этом гонораре должны учитываться значения из первой таблицы и коэффициенты. Цена аренды транспорта здесь не учитывается.

Также пора выводить в форму экскурсии не из статичного списка в коде формы, а формировать этот список на основе записей из “Экскурсии”. Причем их последовательность определяется в форме также датой записи (по возрастанию). Экскурсии из Базового и Расширенного радиуса длятся 2,5 часа, из Обзорного - 3 часа. Сделать в админке экскурсий возможность отметить галкой или радиокнопкой, отображать ли её на вкладке сертификатов. И в админку экскурсий вывести возможность загрузки изображений сертификатов (необзяталдьное поле) - надо загрузить те сертификаты, которые уже есть.

2 года назад
iamevgeniy
Евгений 
39 летРоссия
15 лет в сервисе
Был
6 месяцев назад
Выбранный исполнитель
smls
48 летРоссия
5 лет в сервисе
Был
день назад
2 года назад
$60
3 дня
RUB
Как всегда, всё грамотно, продуманно, с учетом логики WP.
Евгений всё время был на связи, подробно отвечал на вопросы. Быстро оплатил. Рекомендую.