Анализ логики формирования цен на старом сайте
Подробный разбор системы ценообразования https://trezvie-voditeli.ru/klientam/tseny
📋 Структура страницы "Цены"
- Текстовое описание - файл
/layout/pages/klientam/tseny.php - Блок тарифов - файл
/layout/blocks/tarif.php(6 карточек) - Яндекс.Карта с расчетом -
index.php+map.js - JavaScript калькулятор - встроен в
index.php
Блок тарифов (Статические карточки)
Жестко закодированы в файле /layout/blocks/tarif.php
1. Внутри МКАД
Режим работы:
24 часа
Первый час:
2100 ₽
После первого часа:
25 руб/мин
Ожидание:
5 мин бесплатно, далее 25 руб/мин
📍 Источник:
/layout/blocks/tarif.php (hardcoded HTML)
2. Москва → за МКАД
Режим работы:
24 часа
Первый час:
2500 ₽
После первого часа:
25 руб/мин
Ожидание:
5 мин бесплатно, далее 25 руб/мин
Доп. оплата:
+50 руб/км от МКАД
📍 Источник:
/layout/blocks/tarif.php (hardcoded HTML)
3. из-за МКАД → Москва
Режим работы:
24 часа
Первый час:
2500 ₽
После первого часа:
25 руб/мин
Ожидание:
5 мин бесплатно, далее 25 руб/мин
Доп. оплата:
+50 руб/км до МКАД
📍 Источник:
/layout/blocks/tarif.php (hardcoded HTML)
4. Москва → за ЦКАД
Режим работы:
24 часа
Первый час:
3500 ₽
После первого часа:
25 руб/мин
Ожидание:
5 мин бесплатно, далее 25 руб/мин
Доп. оплата:
+50 руб/км от ЦКАД
📍 Источник:
/layout/blocks/tarif.php (hardcoded HTML)
5. из-за ЦКАД → Москва
Режим работы:
24 часа
Первый час:
3500 ₽
После первого часа:
25 руб/мин
Ожидание:
5 мин бесплатно, далее 25 руб/мин
Доп. оплата:
+50 руб/км от ЦКАД
📍 Источник:
/layout/blocks/tarif.php (hardcoded HTML)
6. Водитель на день
Режим работы:
24 часа
Первый час:
10000 (3 часа) ₽
После первого часа:
1000 руб/час
Ожидание:
5 мин бесплатно, далее 20 руб/мин
📍 Источник:
/layout/blocks/tarif.php (hardcoded HTML)
JavaScript калькулятор
Простой калькулятор для районов Подмосковья
Параметры калькулятора
Базовая цена (Москва → Область):
2500 ₽
Базовая цена (Область → Москва):
2500 ₽
Цена за км (в область):
50 ₽/км
Цена за км (в город):
50 ₽/км
Формула расчета:
Итого = base_price + (расстояние_км × price_per_km)
📍 Источник:
index.php строки 2669-2748 (JavaScript)
Яндекс.Карта с расчетом маршрута
Интеграция с Яндекс.Картами для точного расчета
Логика работы карты
- Пользователь вводит точки "Откуда" и "Куда" на Яндекс.Карте
- Яндекс.Карты строит оптимальный маршрут
- JavaScript определяет границу МКАД через массив координат (38 точек)
- Скрипт вычисляет какая часть маршрута проходит внутри/снаружи МКАД
- Применяется соответствующий тариф
Тарифы карты:
✅ Маршрут внутри МКАД:
2100 ₽
🚗 Выезд за МКАД:
2500 ₽ + (км_за_МКАД × 50 ₽)
Пример расчета:
Маршрут: Москва (центр) → Балашиха (10 км за МКАД)
Маршрут: Москва (центр) → Балашиха (10 км за МКАД)
Цена = 2500₽ + (10 км × 50₽) = 3000₽
📍 Источники:
• HTML карты:
• Логика расчета:
• Координаты МКАД:
• HTML карты:
index.php строки 534-631• Логика расчета:
map.js строки 84-178• Координаты МКАД:
map.js строки 8-40 (массив из 38 точек)
Важные выводы
НЕТ связи с базой данных
Все цены жестко закодированы в PHP/JavaScript файлах. База данных используется только для услуг с индивидуальными ценами (cost, cost_text).
Две независимые системы ценообразования
1. Статические тарифы (tarif.php) - для визуализации
2. Динамический расчет (map.js) - для точной калькуляции по маршруту
2. Динамический расчет (map.js) - для точной калькуляции по маршруту
Для нового проекта рекомендуется
Создать единую таблицу тарифов в PostgreSQL с полями: зона (МКАД/ЦКАД), базовая_цена, цена_за_км, цена_за_минуту. Это позволит управлять ценами через админ-панель без редактирования кода.