Как сделать автоматический расчет стоимости услуги на сайте

Время чтения - 3 мин.
Дата публикации 21.05.2026

Заказчики не любят, когда цену нужно узнавать «по запросу». Они хотят примерно понимать бюджет сразу. Автоматический калькулятор стоимости повышает конверсию в заявку. Например, для услуги «ремонт квартиры» можно сделать поля: площадь (м²), тип помещений, срочность — и на лету показать ориентировочную цену.

В этой статье — как реализовать калькулятор на площадке Falcon Space, используя хранимые процедуры и JavaScript.

Когда нужен калькулятор

  • Услуги с плавающей ценой, зависящей от параметров (клининг, ремонт, доставка, производство).
  • Вы хотите привлечь заказчиков, которые сравнивают цены.
  • Помогаете исполнителям получать более качественные заявки (сразу известны параметры).

Пример: калькулятор стоимости уборки квартиры

Пользователь выбирает:

  • Тип уборки (поддерживающая / генеральная / после ремонта).
  • Количество комнат (1,2,3,4+).
  • Площадь (если не в комнатах).
  • Наличие домашних животных (да/нет).

Цена рассчитывается по формуле: базовая_цена * коэффициент_типа * коэффициент_животных + доплата_за_площадь.

Шаг 1. Сохраните прайс в базе данных

Создайте таблицу PriceMatrix (category_id, param1, param2, price). Например, для уборки после ремонта в 2-комнатной квартире с животными — 4000 руб.

Шаг 2. Напишите хранимую процедуру для расчёта

Процедура получает параметры, вычисляет цену и возвращает её в JSON.

CREATE PROC CalculateCleaningPrice
    @rooms INT,
    @animal BIT,
    @type VARCHAR(50)
AS
BEGIN
    DECLARE @price INT;
    -- логика расчёта
    SELECT @price = price FROM PriceMatrix 
    WHERE type=@type AND rooms=@rooms AND animal=@animal;
    SELECT @price AS price;
END

Шаг 3. Создайте HTML-форму на странице

На странице создания проекта или на отдельном лендинге разместите элементы выбора (select, radio, checkbox). При изменении любого поля вызывайте JS-функцию, которая отправляет AJAX-запрос к вашей процедуре и обновляет цену.

$.ajax({
    url: '/api/CalculatePrice',
    data: {rooms: rooms, animal: animal, type: type},
    success: function(data) {
        $('#price').text(data.price + ' руб');
    }
});

В Falcon Space есть встроенный механизм request.js для таких вызовов без дополнительной настройки маршрутов. Пример: fs.request('CalculateCleaningPrice', params, callback);

Шаг 4. Отображайте цену в проекте (опционально)

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

Кейс: калькулятор для грузоперевозок (Falcon Cargo)

В решении Falcon Cargo (кейс на основе Falcon Space) был реализован калькулятор доставки: город отправления, город назначения, вес, объём. Стоимость рассчитывалась через API транспортной компании и показывалась пользователю. Это позволило увеличить конверсию в заказ на 25%.

Готовые решения для калькулятора на Falcon Space

Если вы не хотите программировать, можно использовать готовый плагин — например, встроенный калькулятор через компонент «Форма с вычисляемыми полями». В административной панели вы добавляете поля и задаёте формулу (цена = поле1 * 100 + поле2 * 200). Но для сложных формул всё же потребуется SQL-процедура.

Советы по улучшению калькулятора

  • Добавьте кнопку «Рассчитать» (на случай, если цена меняется редко).
  • Показывайте не только цену, но и пояснение, из чего она сложилась (базовая + опции).
  • Если цена очень приблизительная, пишите «от 5000 руб». Не вводите в заблуждение.

В демо-версии Falcon Auction вы можете посмотреть пример реализации калькулятора на странице создания проекта. Если нужно, мы поможем настроить калькулятор под ваш тип услуг.

Насколько полезной была статья?
Falcon Space, автор блога

Автор статьи - Руслан Раянов

Cоздатель платформы Falcon Space
Запрос расчета стоимости веб-проекта на базе Falcon Space
Если видео Youtube плохо грузится, то попробуйте найти видео в ВК видео на канале Falcon Space
Сайт использует Cookie, Яндекс Метрику. Используя сайт, вы соглашаетесь с правилами сайта. См. Правила конфиденциальности и Правила использования сайта OK