Как чат-боту рассчитать стоимость доставки по Беларуси?

Как чат-боту рассчитать стоимость доставки по Беларуси?

Чтобы чат-бот назвал предварительную стоимость доставки, ему нужны два исходных параметра: куда отправить заказ и какой груз предстоит везти. Сначала бот уточняет населённый пункт и состав заказа, затем сверяет их с вашими тарифами. Если цена зависит от точного адреса, веса после упаковки или размеров посылки, бот показывает ориентир и объясняет, когда появится итоговая сумма. Ниже — схема вопросов и расчёта, которую можно применить к интернет-магазину без сложного диалога.

Что спросить у покупателя перед расчётом?

Начните с собственных правил доставки. Откройте действующие тарифы и отметьте, от чего зависит цена: от населённого пункта, веса, размеров посылки или способа получения. Боту нужны только те ответы, которые меняют расчёт. Если тариф одинаков для всего города, спрашивать улицу на этом этапе незачем.

Для заказа с известными товарами бот берёт вес из карточек товаров. Покупателю остаётся указать направление доставки. Если вес товаров в каталоге не заполнен, бот может спросить примерный вес посылки, но должен прямо обозначить результат как предварительный: упаковка тоже влияет на вес.

  • Спросите населённый пункт. Если тарифы различаются внутри города и за его пределами, уточните это отдельным вопросом.
  • Предложите выбрать способ получения, если у него своя цена: доставка по адресу или получение в доступной точке.
  • Уточните характеристики груза только тогда, когда они влияют на тариф. Для крупной коробки это могут быть размеры, для остальных заказов хватит веса.
  • Если адрес нужен для проверки зоны доставки, запросите его перед окончательным расчётом, а не в начале беседы.

Например, покупатель указывает Гомель, а в корзине уже лежат товары с известным весом. Бот сразу выбирает подходящую строку тарифа. Если покупатель пишет «под Минском», бот просит назвать населённый пункт: этой формулировки недостаточно, чтобы выбрать зону без догадки.

Как связать адрес и вес с тарифом?

Запишите правила так, чтобы для каждого заказа нашёлся один понятный вариант расчёта. Сначала бот определяет зону по месту доставки, потом берёт вес заказа и находит тариф для этой комбинации. Если у вас есть доплата за крупную посылку, бот применяет её лишь при выполнении условия, которое вы заранее задали.

Проверьте тарифы на границах весовых диапазонов. Допустим, один диапазон заканчивается на определённом весе, а следующий начинается с него же: заказ на границе попадёт сразу в два варианта. В правилах должно быть однозначно написано, к какому диапазону он относится. Точно так же проверьте названия населённых пунктов, которые покупатели вводят с сокращениями или ошибками. Если бот не распознал место доставки, пусть попросит уточнение, а не выбирает похожий город.

Отдельно решите, какой вес использовать. Для собранного заказа это может быть вес товаров вместе с упаковкой. Если упаковку подбирают позже, бот считает по доступным данным и предупреждает, что сумму подтвердят после сборки. Не прибавляйте вес упаковки автоматически, если он уже включён в данные о товаре.

Тарифы лучше хранить в одном месте, откуда бот берёт актуальную цену. Иначе сотрудник обновит стоимость доставки для менеджеров, а бот продолжит называть старую. Если расчёт зависит от данных сайта или другой рабочей системы, заранее проверьте, как бот получит оттуда вес и тариф. Для похожей задачи с ценой услуги пригодится схема расчёта стоимости и сбора заявки в чат-боте: сначала входные данные, затем правило расчёта, после него — понятный ответ клиенту.

Что показать покупателю, если точную цену пока не узнать?

Покажите причину неопределённости и следующий шаг. Фраза «стоимость уточняется» оставляет покупателя без ответа. Лучше написать: «Предварительная стоимость доставки — сумма по тарифу для вашего населённого пункта и веса товаров. После упаковки проверим вес и подтвердим цену перед отправкой». Если даже ориентир посчитать нельзя, сообщите, какого параметра не хватает.

Диалог можно построить коротко: «Куда доставить заказ?» — покупатель называет населённый пункт. Затем бот проверяет вес корзины. Если вес есть, он показывает предварительную сумму в BYN и поясняет, что она изменится, если фактический вес после упаковки попадёт в другой тарифный диапазон. Если веса нет, бот предлагает передать заказ сотруднику для расчёта.

Бот должен сохранять уже полученные ответы. Покупатель может написать город, способ доставки и комментарий несколькими сообщениями; повторно спрашивать город после каждого сообщения не нужно. Как соединить такие ответы в одну запись, разобрано в материале о сборе заявки из нескольких сообщений. Сотруднику передайте состав заказа, место доставки, выбранный способ получения и причину, по которой бот не завершил расчёт.

Перед запуском проверьте сценарий руками: заказ с известным весом, заказ без веса, населённый пункт на границе зон и груз, который требует проверки размеров. В каждом случае покупатель должен увидеть либо сумму с понятной оговоркой, либо конкретное объяснение, кто и после чего её сообщит.

Какие ошибки чаще всего портят расчёт?

  • Бот спрашивает полный адрес, хотя тариф зависит только от населённого пункта. Уберите лишний вопрос из начала диалога.
  • Бот называет цену окончательной до упаковки, хотя итоговый вес ещё неизвестен. Пометьте сумму как предварительную и укажите причину возможного изменения.
  • Тарифы в боте и у сотрудников обновляют отдельно. Выберите один источник цены и проверяйте его после каждого изменения условий доставки.
  • Незнакомый адрес бот относит к ближайшей известной зоне. Вместо догадки запросите уточнение или передайте расчёт сотруднику.
  • При сбое расчёта бот начинает разговор заново. Сохраните ответы покупателя и передайте их вместе с заявкой.

Откройте свои тарифы доставки и за минуту выпишите рядом с каждой ценой два условия: место доставки и вес, для которых она действует.