Анализ логики формирования цен на старом сайте

Подробный разбор системы ценообразования https://trezvie-voditeli.ru/klientam/tseny

📋 Структура страницы "Цены"
  1. Текстовое описание - файл /layout/pages/klientam/tseny.php
  2. Блок тарифов - файл /layout/blocks/tarif.php (6 карточек)
  3. Яндекс.Карта с расчетом - index.php + map.js
  4. 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)

Яндекс.Карта с расчетом маршрута

Интеграция с Яндекс.Картами для точного расчета

Логика работы карты
  1. Пользователь вводит точки "Откуда" и "Куда" на Яндекс.Карте
  2. Яндекс.Карты строит оптимальный маршрут
  3. JavaScript определяет границу МКАД через массив координат (38 точек)
  4. Скрипт вычисляет какая часть маршрута проходит внутри/снаружи МКАД
  5. Применяется соответствующий тариф
Тарифы карты:
✅ Маршрут внутри МКАД:
2100 ₽
🚗 Выезд за МКАД:
2500 ₽ + (км_за_МКАД × 50 ₽)
Пример расчета:
Маршрут: Москва (центр) → Балашиха (10 км за МКАД)
Цена = 2500₽ + (10 км × 50₽) = 3000₽
📍 Источники:
• 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) - для точной калькуляции по маршруту
Для нового проекта рекомендуется
Создать единую таблицу тарифов в PostgreSQL с полями: зона (МКАД/ЦКАД), базовая_цена, цена_за_км, цена_за_минуту. Это позволит управлять ценами через админ-панель без редактирования кода.