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

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

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

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

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

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

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

Шаг 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-процедура.

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

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

Страница-источник на сайте falconspace.ru