> For the complete documentation index, see [llms.txt](https://doc.nextbot.ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.nextbot.ru/functional/functions/sending-result/python-v.2/keisy-kastomnykh-integracii/keis-poisk-blizhaishego-filiala-seti-kafe.md).

# Кейс: Как с помощью кастомной интеграции научили ИИ-агента находить ближайший филиал сети кафе

Партнёр Nextbot настроил для сети кафе в Астане ИИ-агента с функцией автоматического определения ближайшей к клиенту точки доставки через кастомную интеграцию с Яндекс Геокодером. Это позволило увеличить число обрабатываемых заказов с 1000 до 1200 в день и освободить операторов клиента от рутины.

#### Автор проекта: [@deletexo](https://t.me/deletexo)

## Контекст

Сеть круглосуточных кафе быстрого питания в Астане предлагает недорогие блюда и работает с большими объёмами заказов. Клиенты пишут на русском или казахском языке и делают заказы через мессенджеры.

До внедрения ИИ-агента приёмом заказов занимались 6 операторов колл-центра. В пиковые часы они с трудом справлялись с нагрузкой, обрабатывая около 1000 заказов в день вручную. Клиентам приходилось долго ждать ответов, из-за чего часть заявок отпадала.

У сети открыто 11 филиалов в разных частях города, и ручной выбор подходящей точки для отправки курьера занимал у сотрудников слишком много времени.

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

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

## Как устроена работа агента

Общение клиента с ИИ-агентом проходит в WhatsApp или Telegram. Индира сначала собирает заказ: присылает фотографии блюд, уточняет их количество и предлагает сопутствующие позиции.

На этапе сбора агент не считает итоговую сумму заказа самостоятельно, а использует вспомогательные функции для точного расчёта.

![](/files/dYLK6DPtgtDyIvSIioj0)

![](/files/rSEBvWQH6FY02Rhi6Exl)

![](/files/csyHwgsOrrnUCruv81qR)

После согласования состава заказа и контактных данных агент переходит к организации доставки. В этот момент запускается ключевая техническая логика проекта — функция geocode\_and\_find\_nearest.

![](/files/6QGYfT4e7P2gsYtnDOlN)

Клиент пишет свой адрес в чат в свободной форме. Например, «Сыганак 24» или «Кунаева 10». Этот текст передаётся в функцию в параметр address.

Внутри функции выполняется Python-скрипт. Для его разработки партнёр взял официальную документацию Яндекс Геокодера, скормил её искусственному интеллекту, описал задачу и технические ограничения платформы Nextbot.

Скрипт отправляет текстовый запрос в Yandex Geocoder API, автоматически добавляя к адресу город «Астана» для точности поиска. Яндекс распознаёт адрес и возвращает точные географические координаты (широту и долготу) точки пользователя, а также скорректированный адрес.

Получив географические координаты клиента, скрипт сопоставляет их с координатами всех 11 филиалов сети, которые жестко прописаны в самом коде.

![](/files/jGg1jjUy9gOZjO0q81CM)

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

![](/files/fAOPwmb18teDCmSugbAZ)

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

![](/files/JYIMstgJ84mRffZ00kbT)

ИИ-агент выводит результат в диалог. Например, если клиент написал «Саганак 24», Индира мгновенно отвечает, что заказ будет отправлен из ближайшего филиала на улице Чингиза Айтматова 36. При указании адреса «Тумар Ханым 37» агент сообщает клиенту, что точка на Айтматова 36 находится ближе всего — примерно в 2,2 километрах.

![](/files/BKMQOU3z38zbq2HzLFZH)

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

После согласования адреса агент рассчитывает финальную сумму, выставляет условия предоплаты через Kaspi и передаёт готовый заказ в Telegram-группу для сотрудников кухни.

## Результат

Автоматизация приёма заказов позволила сети кафе оптимизировать обработку заявок и разгрузить персонал. Количество обрабатываемых заказов выросло с 1000 до 1200 в день за счёт того, что ИИ-агент отвечает мгновенно и клиентам больше не приходится ждать на линии.

Кассирам на точках не нужно отвлекаться на переписку в мессенджерах: агент сам собирает корзину, находит ближайший филиал и принимает оплату, а сотрудникам остаётся только собрать блюда по готовой заявке.

Аналогичную интеграцию с геокодированием через кастомные скрипты можно использовать в любых бизнесах с разветвлённой сетью присутствия. Метод подходит для справочных служб, интернет-магазинов или сетей салонов услуг, работающих в нескольких городах.

Это помогает удерживать пользователей внутри мессенджера, избавляя их от необходимости переходить на сторонние карты для поиска ближайшей точки обслуживания.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://doc.nextbot.ru/functional/functions/sending-result/python-v.2/keisy-kastomnykh-integracii/keis-poisk-blizhaishego-filiala-seti-kafe.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
