Зоны обслуживания и личные тарифы — фундамент всех вердиктов
«Своя» территория и личные ставки задаются один раз — и дальше приложение знает, что для вас близко, а что дорого. Без этих настроек не было бы ни одного вердикта.
Один и тот же заказ за 800 рублей для одного человека — подарок, а для другого — работа в минус. Всё зависит от того, где его территория, на чём он ездит и почём его час. Приложение не может угадать это за вас — но, узнав однажды, считает всё остальное само.
Вердикт «стоит ли ехать» не берётся из воздуха. Под ним лежит фундамент — ваши личные настройки. Это то немногое, что нужно задать руками, чтобы дальше всё работало на автомате.
Что делает
Настройки собраны понятными карточками, каждая отвечает за свой кусок картины:
- Базовые зоны обслуживания — ваша территория по схеме область → город → районы;
- Минимальные ставки ₽/ч — отдельно для заказов в зоне, вне зоны и маржинальная планка;
- Тип транспорта и стоимость километра — во что вам обходится дорога;
- Модель дохода — как считается ваш заработок;
- Приложение для навигации — чем вести по дороге;
- Политика учёта пробега — как считать километры;
- Город по умолчанию — чтобы не вводить его каждый раз.
Задали один раз — дальше приложение опирается на это в каждом расчёте.
Что за этим стоит
Своя территория и чужая
Ключевая логика — в разнице между «своим» и «дальним». Заказы внутри вашей зоны оцениваются по обычной планке. Заказы вне зоны — по повышенной: дальняя поездка должна окупаться заметнее, иначе она съедает день. Одна и та же сумма получает разный вердикт в зависимости от того, попала точка в вашу территорию или нет.
Как хранится зона
Базовые зоны хранятся строкой в формате JSON, а не «просто через запятую». Причина приземлённая: в названиях районов сами встречаются запятые, и разделение по запятой рассыпало бы их на куски. JSON хранит структуру честно.
Ещё одна деталь: если у зоны не указан конкретный район, базовым считается весь город. То есть можно задать территорию широко — «весь мой город мой» — и не перечислять районы поштучно.
Личная цена дороги
Тип транспорта и стоимость километра — это то, во что вам обходится каждый километр пути: топливо, износ, обслуживание. Легковая, велосипед и пеший ход стоят по-разному, и приложение вычитает из цены заказа именно вашу цифру, а не среднюю по больнице.
Почему это важно
Зоны и тарифы — это не «ещё один экран настроек», а фундамент, на котором стоят все вердикты. Без вашей территории приложение не знало бы, что для вас близко, а что далеко. Без ваших ставок — что для вас дёшево, а что достойно. Уберите этот фундамент — и вердикт превратится в гадание по средним числам, которые к вам не относятся.
Хорошая новость в том, что задаётся всё это один раз. Дальше вы просто вводите адрес и цену, а приложение само знает, своя это территория или дальняя, во что обойдётся дорога и стоит ли овчинка выделки. Ручная работа — однажды; автоматический расчёт — каждый день.
Как устроены зоны и тарифы
- Карточки настроек: базовые зоны (область → город → районы), ставки ₽/ч (в зоне, вне зоны, маржинальная), транспорт и ₽/км, модель дохода, навигация, учёт пробега, город по умолчанию.
- Заказы в зоне оцениваются по обычной планке, вне зоны — по повышенной: дальняя поездка должна окупаться заметнее.
- Базовые зоны хранятся строкой JSON — потому что в названиях районов бывают запятые, и простой список через запятую их бы поломал.
- Если у зоны не указан конкретный район — базовым считается весь город.
- Реализовано в base_zones_service.py, settings_service.py, vehicle_service.py; роутер settings.py; экраны SettingsScreen.kt, SettingsPages.kt, BaseZones.kt.
Проверь любой заказ за секунду
Установи приложение и посмотри честный вердикт по своему следующему адресу — стоит ехать или нет.
Скачать для Android Android 8+ · установка из файла · бесплатно