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

Пока машина одна, вопроса нет: все заявки ее. Вопрос появляется со второй, и решается он обычно так - владелец смотрит на список, вспоминает, кто где сегодня был, и раскидывает заказы по наитию. Иногда получается хорошо.
Проблема не в том, что интуиция ошибается. Проблема в том, что она не повторяется: в понедельник вы разложили день отлично, а во вторник были заняты, и водитель дважды проехал мимо одного поселка. И объяснить второму человеку, как вы это делаете, вы не можете, потому что правил у вас нет.
Разберем, по каким признакам заявка на самом деле привязывается к машине, и превратим это в алгоритм, который работает даже на бумаге.
Заявка привязывается к машине по четырем признакам: район, свободное место в окне, остаток в бочке и длина рукава. Именно в таком порядке.
Все четыре можно проверять руками, и уже это даст результат. Но руками их надо проверять для каждой заявки, а заявки приходят весь день, поэтому рано или поздно проверка перестает делаться.
Главная ошибка распределения - думать в заказах, а не в поездках. Ваш расход считается не на заказ, а на выезд: себестоимость рейса складывается в основном из дороги и слива, и оба уменьшаются, когда заказы стоят кучно.
Не адрес, а район. Разница принципиальная.
Адрес - это строка, по которой нельзя ничего решить, пока вы не откроете карту и не вспомните, где это. Район - это ярлык, по которому заявки сравниваются между собой мгновенно: две заявки одного района можно поставить рядом, заявки разных районов - почти никогда.
Как нарезать районы. Не по административным границам, а по логике объезда: что удобно проехать за один заход. Обычно это направление от вашей базы плюс кусок вдоль дороги. Начните с крупных, штук пять-восемь на весь охват, дробить будете потом, когда увидите, что внутри одного района регулярно набирается больше заявок, чем влезает в поездку.
Отдельно отметьте районы, куда вы едете неохотно: далеко, плохая дорога, узкие проезды. Их полезно не запрещать, а привязать к одному-двум дням недели. Тогда дальний поселок обслуживается пачкой, а не по одному заказу в неделю.
Второй фильтр - сколько заявок машина вообще готова взять на этот отрезок дня.
Здесь важно не считать это расчетом системы. Сколько заказов влезет в первую половину дня, знаете только вы: с учетом состояния дорог, конкретного водителя и того, что в этом поселке ворота открывают долго. Поэтому вместимость - это число, которое ставит человек.
И держите его честным. Соблазн поставить побольше, чтобы не терять заявки, заканчивается сорванными обещаниями, а сорванное обещание в этом бизнесе дороже несделанного заказа: яму все равно откачают, но уже не вы, и в следующий раз не позвонят.
Самый недооцененный.
Считайте не заказы, а кубы. Машина на 4,3 куба, идущая на три заказа по два куба, физически не выполнит третий без поездки на слив. Если вы этого не учли, водитель узнает об этом на месте, у клиента во дворе.
Правило простое: перед тем как поставить заявку в конец очереди, сложите объемы всех предыдущих. Если сумма перевалила за объем цистерны, между ними должна встать поездка на слив, и все, что после нее, считается с нуля.
Из этого следует неочевидное. Крупный заказ выгоднее ставить первым в окне, а не последним: на пустую бочку он гарантированно влезет, а в конце дня под него придется освобождать место отдельным сливом.
И обратное: мелкие заказы по 1-2 куба хорошо добирать после крупного, если остаток позволяет. Тогда один слив закрывает три-четыре адреса.
Формально это ограничение машины, а не логистики, но подставляет оно чаще всего.
От места, где может встать машина, до ямы бывает и десять метров, и сто. Стандартом обычно считают около десяти метров, и все, что дальше, требует либо доплаты, либо другой машины. Это не жадность: больше тридцати метров обычная вакуумная машина не тянет, разрежение растет и цистерну может сплющить (otkachkaka.ru, август 2026).
Насколько сильно это двигает деньги, видно по закрытым сделкам: четыре куба со шлангом 20-25 метров в Дмитровском районе стоили 4 800 рублей, а три куба со шлангом от ста метров - 15 000 (profi.ru, август 2026). Меньше объем, втрое больше сумма.
Практический вывод для распределения: спрашивайте метраж при приеме заявки, а не по приезде. Одно поле в форме избавляет от сорванного выезда, который вы уже оплатили топливом.

Работает и в системе, и в тетради.
Шаг 1. Отфильтруйте по району. Оставьте только те машины, у которых на нужном отрезке дня закреплен район заявки.
Шаг 2. Отсеките заполненные. Из оставшихся уберите тех, у кого на этот отрезок уже набрано столько заявок, сколько вы решили брать.
Шаг 3. Проверьте бочку. Сложите объемы уже стоящих заявок и объем новой. Не влезает - либо ставьте после слива, либо отдавайте другой машине.
Шаг 4. Проверьте рукав. Если заявке нужно больше метров, чем есть у этой машины, она сюда не подходит, каким бы удобным ни был район.
Шаг 5. Определите место в очереди. Не время, а место: рядом с ближайшим адресом того же района, с учетом правила про крупный заказ вперед.
Если после первого шага не осталось ни одной машины, это не повод впихивать заявку куда попало. Это сигнал, что либо район не закреплен ни за одним окном, либо вы физически не покрываете это направление в этот день. Честнее предложить заказчику другой день, чем пообещать и не приехать.
Срочный заказ ломает любую схему, и это нормально - на нем часто и зарабатывают.
Правило: срочный идет не тому, кто ближе географически, а тому, кто сейчас свободен и работает в этом районе. Свободен - значит уже откачал предыдущий адрес или вернулся со слива. Занятый водитель, находящийся в двух километрах, хуже свободного в десяти: пока он закончит, пройдет час.
И второе правило: срочный заказ не должен считаться в вместимость окна. Вместимость - это про плановую загрузку. Если человек свободен, он может взять заказ сверх плана, и мешать этому не надо.
Ни один автоматический расчет не знает трех вещей.
Что на дороге. Перекопали улицу, встал переезд, размыло грунтовку. Порядок объезда должен таскаться руками, и делать это должен уметь и водитель тоже - он видит ситуацию первым.
Какой клиент какой. Есть адреса, куда лучше приезжать первым делом, потому что там ворота открывают только утром. Это знание живет у людей, и правильно, чтобы система ему не мешала.
Что за человек за рулем. Один спокойно берет восемь адресов, другой на седьмом начинает торопиться и делать ошибки. Вместимость окна имеет смысл ставить по конкретному водителю, а не одну на всех.
Хороший алгоритм не решает за вас. Он делает всю механическую часть - фильтры, объемы, метры - и оставляет вам ровно те решения, где нужна голова.

Все четыре признака зашиты в распределение, и в обычный день вы не делаете ничего.
День каждой машины поделен на два-три окна. За окном закреплены районы, до двух - удобно, когда есть две соседние деревни, где по отдельности заявок не набирается. Окна одной машины в течение дня могут быть закреплены за разными районами: до обеда одно направление, после обеда другое.
Вместимость окна задаете вы. Заказчику показываются только те окна, где по его району место еще осталось. Кончилась вместимость - окно просто не показывается, и он выбирает из тех, что реально свободны.
Как только окно выбрано, заявка привязывается к машине сама: по району, по остатку вместимости и по остатку в бочке. Внутри окна у заявки нет времени, есть место в очереди, и очередь и есть порядок объезда.
Прогноз заполнения считается между заявками. Если следующая уже не помещается, в списке появляется плашка «Пора на слив» - пунктиром и приглушенно, потому что это предположение, а не факт. Меняется реальность - плашка двигается или исчезает.
Рукав учтен: вы задаете стандартную длину и доплату за метр сверх нее, максимальная длина - свойство машины, а в форме заказа есть поле, сколько метров от места стоянки до ямы. Заявки, которым нужно больше рукава, чем есть у назначенной машины, помечаются, и вы переставляете их сами.
Экран заявок сделан доской, а не таблицей: по каждой машине ее окна, внутри окна карточки в порядке объезда. Карточку тянут выше и ниже, как в Trello. Двигать могут и водитель, и вы, побеждает последнее изменение, список обновляется живьем у обоих. Обед - такая же строка, ее тоже можно двигать.
Срочный заказ работает по правилу выше: предлагается водителю со статусом «Свободен», за окном которого закреплен нужный район. Район и есть определение близости, геопозиция для этого не нужна. Вместимость на срочный заказ не распространяется. Свободных нет - выжидаем несколько секунд и предлагаем заказчику выбрать окно.
Не «стало удобнее», а измеримо.
Кубов на один рейс. Сколько в среднем вы привозите на слив. Если растет - бочка перестала возить воздух.
Сливов на десять заказов. Чем меньше, тем плотнее собран день. Это прямая экономия: каждая поездка на станцию - это и деньги за прием, и время, и топливо.
Доля заказов, выполненных в паре. Сколько заказов сделано в один заход с соседним адресом. Растет - значит, кусты начали собираться.
Все три считаются за месяц и сравниваются с предыдущим. Одного месяца обычно достаточно, чтобы увидеть направление.
Начните с районов - это единственное решение здесь, которое стоит принять вдумчиво. Нарежьте территорию так, как ее удобно объезжать, и закрепите за каждым днем недели дальние направления.
Дальше введите правило про объемы: перед постановкой заявки в очередь складывайте кубы. Даже без всякой программы это уберет часть лишних поездок на слив уже на первой неделе.
Дальше по теме: crm для ассенизаторов - что вообще должна уметь система, и автоматизация ассенизаторского бизнеса - в каком порядке внедрять, если начинаете с нуля.
Ассенизатор онлайн - прием заявок и управление ассенизаторскими машинами. Заявка сама встает на нужную машину по району, вместимости окна и остатку в бочке.