# Калькулятор доставки: 6 шагов до своей формы на вайб-кодинге

> Как собрать калькулятор стоимости доставки на сайте без написания кода. Внутри схема тарифов, промпты для помощника, проверки и честное сравнение затрат.

Источник: https://vibeceh.ru/cases/kalkulyator-stoimosti-dostavki-na-sajte-vmesto-n8n
Автор: Сергей Мазур · опубликовано 2026-08-20

В этой схеме калькулятор стоимости доставки считает предварительную цену по зоне, весу и срочности. Клиент видит результат на странице, а диспетчеру не приходится пересказывать тарифы по телефону и искать нужную строку в переписке.

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

Практическая задача здесь начинается с повторяющегося пересчёта одного и того же заказа разными способами.

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

Особенно раздражало не само число. Раздражало, что его приходилось добывать. Сначала нужно уточнить зону, затем посмотреть вес и проверить, относится ли заказ к срочному. Потом объяснить клиенту, почему вчера называлась одна сумма, а сегодня другая.

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

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

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

## Что меняет такая схема в службе доставки?

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

Раньше заказ жил сразу в нескольких местах. Клиент писал в мессенджер, диспетчер заносил данные в заметку, курьер получал адрес в чате. Если маршрут задерживался, статус можно было поменять на «позже», но это не отвечало на главный вопрос: кто теперь доведёт заказ до конца.

Схема состоит из двух связанных, но разных частей.

Первая часть - калькулятор на странице. В нём клиент выбирает зону, вводит вес и указывает срочность. Система находит подходящий тариф и показывает предварительную стоимость.

Вторая часть - доска курьерских задач. На карточке заказа видно:

- кто сейчас отвечает за заказ;
- куда идёт маршрут;
- когда нужна доставка;
- есть ли задержка;
- почему она возникла;
- кому передали работу.

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

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

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

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

Для меня изменение не в том, что появилась ещё одна страница. Изменение в ответственности. За задержкой теперь стоит причина, за причиной - человек, а за расчётом - строка в тарифной таблице.

## Почему я не стала брать готовый сервис?

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

![Кот сравнивает готовый сервис и собственную схему калькулятора доставки.](https://s3.regru.cloud/crossmark/statejnik/images/guides/kalkulyator-stoimosti-dostavki-na-sajte-vmesto-n8n/kadr-1.webp)

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

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

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

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

Это не значит, что готовый сервис плохой. Он лучше подходит, если нужны:

- интеграции с конкретными перевозчиками;
- сложная маршрутизация;
- автоматический обмен статусами;
- большое количество заказов;
- готовая поддержка и ответственность поставщика;
- проверенные процессы работы с персональными данными.

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

Главное правило я оставила одинаковым для калькулятора и для доски: нельзя прятать смысл за одним статусом. «Позже» не объясняет задержку. «Стоимость доставки» без расшифровки тоже не объясняет, откуда взялась сумма.

## Из чего состоит калькулятор стоимости доставки?

Калькулятор стоимости доставки состоит из HTML-формы, таблицы тарифов, серверного расчёта и результата на странице. Форма передаёт зону, вес и срочность, Apps Script находит подходящую строку в Google Таблице и возвращает сумму. Уведомление о заявке можно добавить отдельно, но для первого варианта оно не обязательно.

У решения четыре части.

**Форма на странице.** Клиент выбирает зону, вводит вес и отмечает обычную или срочную доставку. Для зоны и срочности подходит выпадающий список, для веса - числовое поле. На первом экране не нужны параметры, которые не участвуют в базовом расчёте.

**Таблица тарифов.** В ней лежит правило расчёта. Например, одна строка описывает зону, диапазон веса, обычную цену и срочную цену.

```text
Зона | Вес от | Вес до | Обычная доставка | Срочная доставка
Зона 1 | 0 | 5 | 400 | 600
Зона 1 | 5.01 | 10 | 550 | 800
Зона 2 | 0 | 5 | 600 | 850
```

Это только форма структуры. Реальные значения нужно внести по своим тарифам, а не копировать пример.

**Серверный расчёт.** Apps Script принимает данные формы, читает тарифную таблицу и ищет строку, в которой совпадают зона и диапазон веса. Если выбрана срочная доставка, берётся срочный тариф. Результат возвращается на страницу.

Google описывает HTML Service как способ отдавать веб-страницы, взаимодействующие с серверными функциями Apps Script.

[Документация Google об HTML Service](https://developers.google.com/apps-script/guides/html) описывает веб-страницы, которые взаимодействуют с серверными функциями Apps Script.

Страница может быть файлом `Index.html`. Серверная часть содержит функцию `doGet(e)` или `doPost(e)`. В первом случае скрипт отдаёт страницу, во втором принимает отправленные значения. Google указывает, что для веб-приложения скрипт должен содержать одну из этих функций и возвращать HTML- или текстовый результат.

**Результат.** На странице нужно показать не только итоговую сумму. Лучше вывести выбранную зону, вес, вид доставки, базовый тариф, надбавку за срочность и итог. Так клиент видит логику, а диспетчер может быстро проверить расчёт.

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

## Сколько стоит собрать такую вещь?

Для сборки нужны Visual Studio Code и помощник Claude Code. Их ставят один раз, затем используют для разных автоматизаций. Claude Code работает через платную подписку Claude Pro за `$20 в месяц` при помесячной оплате. Подтверждённого официального тарифа Claude в рублях для России я не нашла, поэтому эту часть расходов нужно проверить до начала работы.

Редактор кода нужен как рабочая папка. В нём лежат `Index.html`, серверная часть и другие файлы проекта. Помощник может создать часть файлов и изменений, но результат нужно проверить и протестировать. Открой изменённый файл, проверь, что в нём поменялось, и вернись к помощнику с описанием следующей задачи.

[Claude Code](/guides/claude-code-zhurnal-resheniy-dlya-proekta) работает с проектом через поддерживаемый интерфейс; способ подключения к Visual Studio Code нужно проверить для выбранной конфигурации. Я пишу обычными словами:

- что должна делать форма;
- какие поля нужны;
- откуда брать тариф;
- что показывать при ошибке;
- какие файлы нельзя менять.

Помощник создаёт файлы, меняет их и объясняет результат; контекст задачи и каждый токен запроса влияют на то, что он увидит.

Порядок установки зависит от выбранного способа запуска и операционной системы. Перед началом проверь официальную инструкцию Claude Code, а доступ к платному плану рассмотри отдельно. При годовой оплате на странице Anthropic указана цена `$17 в месяц`, но списание происходит за год вперёд. Для сравнения ниже использую ту же помесячную цену, без пересчёта в рубли.

Эту неопределённость нужно учитывать при расчёте бюджета: российская цена и доступность оплаты не подтверждены.

До сборки проверь доступность Claude в своей стране и способ оплаты. Официальная справка Anthropic указывает оплату кредитной или дебетовой картой, но не подтверждает российскую оплату и рублёвый тариф.

Для самой схемы понадобятся ещё доступы:

- аккаунт Google для Google Таблицы и Apps Script;
- право создать таблицу тарифов;
- доступ к редактору сайта или месту, где будет опубликована форма;
- доступ к настройкам публикации веб-приложения;
- отдельное решение по хранению персональных данных, если форма собирает телефон, имя или адрес.

Apps Script имеет квоты. Для обычного потребительского аккаунта Google указывает максимальную длительность одного запуска 6 минут, до 30 одновременно выполняемых скриптов на пользователя и до 1000 одновременно выполняемых скриптов на проект. При превышении квоты выполнение останавливается. Google также предупреждает, что ограничения могут измениться без предварительного уведомления.

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

## Как собрать калькулятор доставки по шагам?

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

![Собака показывает три первые карточки сборки калькулятора доставки.](https://s3.regru.cloud/crossmark/statejnik/images/guides/kalkulyator-stoimosti-dostavki-na-sajte-vmesto-n8n/kadr-2.webp)

Установи Visual Studio Code, подключи Claude Code и открой в редакторе отдельную папку, которую не будешь смешивать с другими автоматизациями.

   

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

Создай Google Таблицу с листом `Тарифы`. Внеси зоны, диапазоны веса и две цены. Одна строка должна описывать один диапазон.

   

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

Теперь попроси помощника собрать только HTML-форму. Не подключай расчёт, пока не убедишься, что поля работают и подписаны понятно.

   

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

Подключи серверную функцию Apps Script. Она должна читать лист `Тарифы`, искать совпадение по зоне и диапазону веса и выбирать обычную или срочную цену.

   

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

Форма должна передавать значения Apps Script, а результат возвращаться на ту же страницу. В Apps Script для этого можно использовать серверную функцию и вызов через `google.script.run`.

   

Правильный результат появляется после отправки формы и содержит те же параметры, которые были введены. Если страница зависает, попроси помощника показать отдельную обработку успешного ответа и ошибки. Вызовы `google.script.run` асинхронные, поэтому результат нельзя считать мгновенным.

Открой в Apps Script `Deploy -> New deployment -> Web app`, задай доступ по требованиям проекта и сначала проверь ссылку самостоятельно. Не передавай клиентам ссылку до проверки тарифов.

   

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

## Какие файлы появились после сборки?

В базовой схеме появляются HTML-страница `Index.html`, серверная часть Apps Script с функцией `doGet` или `doPost`, Google Таблица с листом `Тарифы` и опубликованное веб-приложение. Таблица хранит изменяемые цены, HTML отвечает за форму и результат, серверная часть связывает их и выполняет расчёт.

`Index.html` - видимая часть калькулятора. В нём находятся поля зоны, веса и срочности, кнопка, сообщения об ошибках и блок результата.

Серверная часть Apps Script принимает данные и обращается к таблице. В зависимости от выбранной схемы там будет `doGet(e)`, `doPost(e)` или отдельная серверная функция, которую вызывает страница. Не нужно запоминать все имена. Достаточно понимать, что страница отправляет значения, а сервер возвращает результат.

[Google Таблица](/concepts/google-tablicy) - место для тарифов. Её удобнее менять, чем искать цену среди строк кода. Для каждой записи должны быть понятны зона, нижняя и верхняя границы веса, обычная и срочная цена.

Опубликованное веб-приложение - адрес, по которому открывается форма. После каждой существенной правки нужно снова пройти тесты. Ссылка сама по себе не подтверждает правильность расчёта.

Сохрани копии:

- исходный файл `Index.html`;
- проект Apps Script;
- Google Таблицу с тарифами;
- список тестовых значений;
- адрес опубликованного веб-приложения;
- описание того, какой лист и какие заголовки читает сервер.

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

## Что делать, если калькулятор считает неправильно?

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

![Хомяк у красного креста проверяет ошибочный расчёт и тарифную таблицу.](https://s3.regru.cloud/crossmark/statejnik/images/guides/kalkulyator-stoimosti-dostavki-na-sajte-vmesto-n8n/kadr-3.webp)

### В расчёте нет НДС

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

После исправления сравни базовую цену, сумму НДС и итог отдельно. Не оставляй на странице одно число без пояснения.

### Показан «голый» тариф

Расчёт может учитывать только перевозку между терминалами и не учитывать забор, страховку, упаковку или въезд на территорию. Итоговый чек может вырасти, если дополнительные услуги не включены в тарифную таблицу.

> «Калькулятор часто показывает "голый" тариф: только перевозку между терминалами».
> - [VC.ru, «Лучшие службы доставки для интернет-магазинов и маркетплейсов»](https://vc.ru/digital/2656085-luchshie-sluzhby-dostavki-dlya-internet-magazinov-i-marketpleysov)

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

### Одинаковые названия городов

Название населённого пункта нельзя хранить как обычный текст, если расчёт строится по городам. Одинаковые названия могут привести к неправильной зоне. В такой схеме для базовой версии безопаснее использовать заранее заданные зоны, а не свободное поле города.

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

### Срочность считается не на тот день

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

Проверь границу дня отдельно. Надпись «срочно» не должна означать разные вещи для клиента и диспетчера.

### Форму сделали слишком длинной

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

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

### Не найден подходящий тариф

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

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

## Своё решение дешевле готового?

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

| Вариант | Цена | Что получаешь | Где ограничение |
|---|---:|---|---|
| Своя схема на Apps Script | Отдельная цена сервиса не указана | Форма, таблица тарифов, свой расчёт | Сборка, проверка и поддержка лежат на владельце |
| eDost | Цена проверяется на странице сервиса | Готовый сервис доставки | Правила и функции зависят от продукта |
| Digital.spb | Цена проверяется на странице сервиса | Готовый калькулятор или виджет | Нужно подстраиваться под условия сервиса |
| Подрядчик | Цена зависит от задачи | Сборка под задачу | Изменения снова зависят от подрядчика |
| Claude Pro | `$20/мес.` | Помощник для сборки и изменений | Нет подтверждённой официальной цены в рублях и официальной доступности из России |

Google Apps Script и Google Таблица могут использоваться в рамках доступных квот, но точную стоимость дополнительных сервисов, хостинга или публикации я не называю: подтверждённой цифры в фактуре нет.

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

Она не подойдёт без дополнительной архитектуры, если нужны:

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

Подписку я тоже считаю расходом. Claude Pro - постоянная статья расходов схемы, а не бесплатная кнопка. Если помощник используется регулярно для нескольких автоматизаций, это нужно учитывать рядом с оплатой готового сервиса.

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

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

## Что сделать сегодня, если я не разбираюсь в технологиях?

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

1. **Выпиши правила доставки.** Запиши названия зон, нижнюю и верхнюю границу веса, обычную и срочную цену. Не добавляй формулу, которую диспетчер не сможет объяснить клиенту.

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

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

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

5. **Оставь ручной fallback.** Храни актуальную тарифную таблицу и способ посчитать заказ без страницы. Если веб-приложение недоступно или тариф неполный, клиент не должен получить случайную сумму.

6. **Проверь персональные данные.** Телефон, имя и адрес могут быть персональными данными. Согласие на расчёт и согласие на рекламную рассылку лучше разделять. Если данные попадают в Google Таблицу или другой облачный сервис, отдельно проверь требования к локализации.

Минимальный калькулятор не заменяет диспетчера. Он убирает повторяющийся пересчёт и показывает клиенту понятную предварительную сумму. Доска курьерских задач решает другую часть работы: при задержке у заказа появляются причина и новый ответственный.

На практикуме этот подход разбирают руками на собственной задаче. Там можно пройти путь от описания рутины до рабочей автоматизации и понять, где самостоятельной схемы достаточно, а где нужен готовый сервис или специалист. Такой способ сборки называется Вайб-кодинг.

## Вопросы и ответы

Чтобы рассчитать стоимость доставки для физических лиц, собери форму с зоной, весом и срочностью, храни тарифы в Google Таблице, а расчёт передай серверной функции Apps Script. Такой калькулятор доставки для физических лиц найдёт подходящую строку и вернёт результат на страницу. Для начала используй фиксированные зоны и диапазоны веса, без автоматической маршрутизации, а итог обозначь как предварительный.

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

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

Размести на странице форму с обязательными параметрами, кнопку расчёта и блок результата. После отправки страница передаёт значения Apps Script, сервер читает тарифную таблицу и возвращает расшифровку. До публикации проверь пустые поля, границы веса, отсутствие тарифа и срочную доставку.

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

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

Опиши задачу помощнику словами, установи Visual Studio Code и Claude Code, создай таблицу тарифов и собирай решение по частям. Читатель не копирует готовую программу из статьи: помощник создаёт файлы под конкретную структуру зон и правил.

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

- [Google Apps Script: Web Apps](https://developers.google.com/apps-script/guides/web?hl=en)
- [Google Apps Script: HTML Service](https://developers.google.com/apps-script/guides/html)
- [Google Apps Script: Spreadsheet Sheet](https://developers.google.com/apps-script/reference/spreadsheet/sheet)
- [Google Apps Script: Client-to-server communication](https://developers.google.com/apps-script/guides/html/communication)
- [Google Apps Script: Quotas for Google Services](https://developers.google.com/apps-script/guides/services/quotas)
- [Claude pricing](https://claude.com/pricing)
- [Choosing a Claude plan](https://support.anthropic.com/en/articles/11049762-choosing-a-claude-ai-plan)
- [Использование Claude Code с планом Pro или Max](https://support.anthropic.com/ru/articles/11145838-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-claude-code-%D1%81-%D0%B2%D0%B0%D1%88%D0%B8%D0%BC-%D0%BF%D0%BB%D0%B0%D0%BD%D0%BE%D0%BC-pro-%D0%B8%D0%BB%D0%B8-max)
- How much does Claude Pro cost?
- [Where can I access Claude?](https://support.claude.com/en/articles/8461763-where-can-i-access-claude)
- Доступны ли альтернативные варианты оплаты Claude Pro
- [Калькулятор доставки и дополнительные сборы](https://vc.ru/digital/2656085-luchshie-sluzhby-dostavki-dlya-internet-magazinov-i-marketpleysov)
- [Негативный опыт работы с доставкой](https://vc.ru/claim/2580711-yandeks-dostavka-negativnyy-opyt-rabotyi)
- [Федеральный закон № 152-ФЗ, статья 9](https://www.consultant.ru/document/cons_doc_LAW_61801/6c94959bc017ac80140621762d2ac59f6006b08c/)
- [Разъяснение Минцифры о локализации персональных данных](https://www.consultant.ru/document/cons_doc_LAW_511584/)
- [Исследование Tinkoff eCommerce о причинах отказа от заказа](https://www.kommersant.ru/doc/6365322?erid=4CQwVszH9pWuKS7nrbN)

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