# Прайс на сайте для ателье: 8 шагов до своей страницы услуг на вайб-кодинге

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

Источник: https://vibeceh.ru/cases/prais-na-sajte-stranica-uslug-s-bystrym-vyborom-raboty
Автор: Сергей Мазур · опубликовано 2026-08-21

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

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

А началось всё с прайса, который приходилось держать в голове.

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

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

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

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

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

## Что изменилось в моих буднях после прайса на сайте?

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

Раньше я объясняла цену через вещь целиком. «Платье будет стоить столько-то» звучит просто, но за этой суммой скрываются разные действия. Одно платье можно укоротить, ушить по бокам, изменить длину рукава и заменить молнию. Это уже несколько операций.

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

Так мне проще разговаривать с клиентом. Я не вспоминаю весь прайс по памяти и не объясняю стоимость длинной фразой. Показываю состав заказа и согласую сумму по понятным позициям.

В журнале заказов остаются:

- выбранная операция;
- описание работы;
- коэффициент сложности;
- отметка о срочности;
- согласованная цена;
- статус выполнения;
- факт оплаты.

Это не превращает ателье в фабрику. Мастер всё так же работает с вещью руками. Но между приёмом и выполнением появляется одна понятная запись.

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

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

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

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

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

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

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

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

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

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

## Из чего состоит страница услуг с прайсом

Страница услуг начинается с категорий операций, а не с длинной общей таблицы. В каждой позиции есть название, короткое описание и цена. Рядом стоит кнопка обращения, а подробный пример страницы с калькулятором цены я разбираю в [инструкции о сборке сайта](/guides/claude-code-sobrat-sajt-s-kalkulyatorom-ceny-uslugi-za-vecher). После выбора работы посетитель оставляет контакт, данные попадают в таблицу, а мне приходит уведомление.

![Кот рядом с карточками категорий операций и кнопкой обращения.](https://s3.regru.cloud/crossmark/statejnik/images/guides/prais-na-sajte-stranica-uslug-s-bystrym-vyborom-raboty/kadr-1.webp)

Структура у страницы такая:

1. **Категории операций.** Например, подгонка, ремонт, замена деталей и срочные заказы.
2. **Карточки работ.** В карточке есть название операции, описание и цена.
3. **Кнопка действия.** Она предлагает выбрать работу или оставить обращение.
4. **Форма.** В ней сохраняется выбранная операция, имя, один канал связи и комментарий. Рядом с формой размести действующую политику конфиденциальности и сформулируй отдельное согласие под конкретную цель и состав данных. Юридическую формулировку проверь перед публикацией, а согласие на рекламные сообщения оставь отдельным и необязательным.
5. **Таблица заявок.** В ней остаются дата, операция, контакт и содержание обращения.
6. **Уведомление.** После отправки мне приходит сообщение о новой заявке.
7. **Адрес и телефон.** Они находятся рядом с прайсом, чтобы посетителю не приходилось искать контакт по всей странице.

Я выстроила экран так: сначала человек выбирает работу, потом видит цену и только после этого оставляет контакт.

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

В Яндекс Бизнесе прайс тоже строится по категориям и отдельным позициям:

В карточке компании прайс-лист публикуется с разделением по указанным категориям».

Для ателье это полезное правило. Не складывай в одну строку «ремонт одежды - от ...». Раздели работу на операции, которые человек может узнать по своему запросу.

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

## Что нужно поставить и сколько это стоит?

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

Сначала установи Visual Studio Code. В нём открыта папка с файлами проекта: ты видишь страницу, а помощник читает эти файлы и меняет их по твоей задаче. Самой писать программу не придётся. Тебе достаточно открыть папку, посмотреть результат и отправить задачу помощнику.

Затем установи Claude Code. Он запускается в проекте из терминала; Visual Studio Code можно использовать рядом для просмотра и изменения файлов по твоему описанию. Ты пишешь не «создай компонент с таким-то классом», а обычную задачу: «добавь карточки операций и кнопку обращения».

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

Для публикации страницы подходит Cloudflare Pages. Там размещается обычный статический HTML-сайт. В документации прямо сказано:

“Cloudflare supports deploying any static HTML website to Cloudflare Pages”. По-русски это означает, что в Cloudflare Pages можно разместить статический HTML-сайт.

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

Apps Script имеет ограничения. Например, выполнение одного скрипта может длиться до 6 минут, а вызовы внешних адресов `URL Fetch` для бесплатного пользовательского аккаунта ограничены 20 000 в сутки. Для небольшой страницы услуг я не усложняю сборку из-за этих лимитов, но держу их в виду.

Про подписку расскажу отдельно и без маскировки. Claude Pro стоит $20 в месяц. Рублёвый эквивалент зависит от курса на дату оплаты. Для России в приведённых официальных тарифах нет отдельной рублёвой цены; `$20` указаны как долларовая цена плана, а не как российский тариф.

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

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

## Как собрать страницу услуг по шагам?

Собирай страницу поэтапно: сначала опиши операции ателье, затем создай структуру прайса, карточки, форму, таблицу и уведомления. После каждого шага проверяй результат на компьютере и телефоне по [рабочему протоколу проверки](/guides/claude-code-rabochij-protokol-proverki-rezultata-posle-kazhdoj-pravki). Готовый код из статьи не нужен: помощник создаст свой вариант под твою папку и правила работы.

![Сиба-ину одобряет схему из трёх первых шагов сборки страницы.](https://s3.regru.cloud/crossmark/statejnik/images/guides/prais-na-sajte-stranica-uslug-s-bystrym-vyborom-raboty/kadr-2.webp)

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

   

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

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

   

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

Теперь попроси вывести операции на страницу. На этом шаге получится первый видимый результат.

   

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

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

Кнопка должна передавать выбранную операцию, чтобы клиенту не приходилось переписывать её руками.

   

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

Хранилище должно быть понятным и пригодным для сверки с журналом заказов.

   

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

Уведомление должно сообщать о новой заявке, но не становиться единственным местом хранения.

   

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

Проверь мобильную версию на телефоне: узкие карточки и мелкий текст лучше заметить до публикации.

   

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

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

   

Я прошу помощника сначала назвать причину и файл, а потом повторяю тест на той же операции. Если он сразу переписывает весь проект, я останавливаю его и прошу менять только связанные с формой файлы, как в [разборе причины незапуска проекта](/guides/ii-kod-najti-prichinu-pochemu-proekt-ne-zapuskaetsya).

## Что появилось в папке после сборки?

В папке проекта лежат обычные файлы страницы и описание сборки. Обычно это `index.html` с операциями и формой, `styles.css` с внешним видом и `README.md` с правилами запуска и публикации. Логика формы может храниться отдельно. Эти файлы нужно копировать перед крупными изменениями.

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

Минимальная структура выглядит так:

```text
index.html
styles.css
README.md
```

`index.html` содержит категории операций, названия, описания, цены, кнопки и форму. `styles.css` отвечает за размеры, отступы, цвета и мобильную версию. `README.md` объясняет, как открыть страницу, где находится адрес формы и что проверить после изменения.

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

Храни несколько копий:

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

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

В готовом шаблоне может быть только `index.html`, `styles.css` и `README.md`. Это нормально для статической страницы. Сложность появляется не из количества файлов, а из связей между прайсом, формой, таблицей и уведомлением.

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

## Что ломалось и как я это чинила?

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

![Безымянный мужчина закрывает лицо рядом со схемой возможных сбоев заявок.](https://s3.regru.cloud/crossmark/statejnik/images/guides/prais-na-sajte-stranica-uslug-s-bystrym-vyborom-raboty/kadr-3.webp)

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

### Время заявки отличается

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

В одной технической разборке проблему описали так:

В issue php-telegram-bot/core описан риск расхождения при разных настройках часового пояса в PHP и базе данных: [обсуждение на GitHub](https://github.com/php-telegram-bot/core/issues/493).

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

### Одна заявка превращается в несколько строк

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

В примере интеграции Google Apps Script с Google Sheets повторные записи связывают с повторной доставкой запроса после перенаправления: [пример на GitHub](https://github.com/android-sms-gateway/example-webhooks-google-sheets).

Перед записью полезно проверять уникальный `messageId` или `submissionId`. Если такой идентификатор уже есть в таблице, повторную строку создавать не нужно.

### Telegram присылает уведомление дважды

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

В технической issue это описано так:

Таймаут не доказывает, что сообщение не дошло. Это нужно проверить по идентификатору заявки, а не автоматически отправлять повторно: [обсуждение на GitHub](https://github.com/NousResearch/hermes-agent/issues/3906).

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

### Резервного канала нет

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

В разборе такой ситуации есть короткое предупреждение:

В разборе vc.ru отсутствие резервного канала связывают с поздним обнаружением сбоя интеграции: [разбор приёма заявок](https://vc.ru/money/2767077-nastroika-priema-zayavok-na-pochtu-i-crm-bez-razrabotchika).

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

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

## Сколько стоит своё решение против готового?

Своя сборка требует подписки Claude Pro за $20 в месяц. У готовых сервисов есть бесплатные и платные планы, а стоимость подрядчика зависит от состава задачи и требует отдельного расчёта. Сравнивай не только цену, но и готовность менять правило под операции ателье.

| Вариант | Цена | Что получаешь |
|---|---:|---|
| Своя страница с Claude Pro | $20 в месяц, рублёвый эквивалент зависит от курса | Прайс, форма и правила под своё ателье |
| Tilda | бесплатный или платный тариф, уточни актуальную стоимость | Готовый конструктор страницы |
| Nethouse | стоимость зависит от выбранного тарифа | Сайт и стандартные настройки |
| uKit | стоимость зависит от выбранного тарифа | Конструктор сайта |
| Price-on | стоимость уточни по актуальному тарифу | Готовое решение для прайса |
| Подрядчик | отдельный расчёт по составу задачи | Сборка под задачу, зависимость от исполнителя |
| Прежний способ | без отдельной подписки | Память, переписка и ручная сверка |

$20 в месяц - официальная цена Claude Pro. Рублёвый эквивалент меняется вместе с курсом и не является рублёвым тарифом Anthropic. Официальная оплата из России и рублёвая цена не найдены.

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

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

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

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

Есть и отраслевой ориентир. В исследовании HubSpot на ввод данных приходилось 17% рабочего времени продавцов ([источник HubSpot](https://www.hubspot.com/hubfs/HubSpot%20Sales%20Pro_TwoPager.pdf)). Это не замер ателье и не обещание, что страница освободит такой же объём времени. Для себя можно взять саму идею: ручной ввод стоит измерять до и после, а не приписывать странице заранее готовую экономию.

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

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

## Что сделать сегодня, если техника не твоя?

Начни не с дизайна, а со списка операций ателье. Раздели основные и дополнительные работы, подготовь цены и правила надбавок, поставь VS Code и Claude Code, собери первый вариант промптами и отправь тестовую заявку. После проверки реши, нужна ли собственная форма или хватит Google Формы.

Маршрут можно пройти так:

1. Выпиши операции, которые реально повторяются в работе.
2. Отдели основные работы от дополнительных.
3. Для каждой операции укажи название, описание и цену.
4. Отдельно запиши правила сложности и срочности.
5. Реши, какие данные нужны для ответа клиенту.
6. Поставь Visual Studio Code и Claude Code.
7. Создай страницу с категориями и карточками.
8. Подключи кнопку обращения и таблицу.
9. Добавь Telegram как уведомление, но оставь таблицу основным хранилищем.
10. Проверь одну заявку на компьютере и одну на телефоне.

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

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

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

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

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

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

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

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

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

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

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

## Материалы и документы

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

- [Яндекс Бизнес: прайс-лист](https://yandex.ru/support/business-priority/ru/manage/price-list)
- [Cloudflare Pages: размещение статического HTML-сайта](https://developers.cloudflare.com/pages/framework-guides/deploy-anything/)
- [Google Apps Script Web Apps](https://developers.google.com/apps-script/guides/web?hl=en)
- [Google Apps Script: квоты и ограничения](https://developers.google.com/apps-script/guides/services/quotas?authuser=01&hl=en)
- [Google Forms: встраивание формы на сайт](https://support.google.com/docs/answer/2839588)
- [What is the Pro plan?](https://support.claude.com/en/articles/8325606-what-is-the-pro-plan)
- [Курс доллара на 21 августа 2026 года](https://www.eadaily.com/ru/news/2026/08/20/kakoy-kurs-rublya-k-troyke-valyut-bank-rossii-opredelil-na-21-avgusta)
- [Issue о часовом поясе в php-telegram-bot](https://github.com/php-telegram-bot/core/issues/493)
- [Пример webhook-интеграции с Google Sheets](https://github.com/android-sms-gateway/example-webhooks-google-sheets)
- [Issue о повторной отправке сообщений Telegram](https://github.com/NousResearch/hermes-agent/issues/3906)
- [Приём заявок на почту и в CRM без разработчика](https://vc.ru/money/2767077-nastroika-priema-zayavok-na-pochtu-i-crm-bez-razrabotchika)
- [HubSpot Sales Pro: данные о времени продавцов](https://www.hubspot.com/hubfs/HubSpot%20Sales%20Pro_TwoPager.pdf)
- [Федеральный закон № 152-ФЗ «О персональных данных»](https://www.consultant.ru/document/cons_doc_LAW_61801/ca9e5658710519f09ab2fdb8196fcb3eb024a051/)
- [Федеральный закон № 38-ФЗ «О рекламе»](https://www.consultant.ru/document/cons_doc_LAW_58968/f892dec1383709792452f18d36e7043306e2be0a/)

Если хочешь собрать такую страницу на собственной задаче, практикум продолжает этот маршрут:

- [Яндекс Бизнес: прайс-лист](https://yandex.ru/support/business-priority/ru/manage/price-list)
- [Cloudflare Pages: размещение статического HTML-сайта](https://developers.cloudflare.com/pages/framework-guides/deploy-anything/)
- [Google Apps Script: квоты и ограничения](https://developers.google.com/apps-script/guides/services/quotas?authuser=01&hl=en)

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