Как сделать автоматический расчет стоимости услуги на сайте
Заказчики не любят, когда цену нужно узнавать «по запросу». Они хотят примерно понимать бюджет сразу. Автоматический калькулятор стоимости повышает конверсию в заявку. Например, для услуги «ремонт квартиры» можно сделать поля: площадь (м²), тип помещений, срочность — и на лету показать ориентировочную цену.
В этой статье — как реализовать калькулятор на площадке 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 вы можете посмотреть пример реализации калькулятора на странице создания проекта. Если нужно, мы поможем настроить калькулятор под ваш тип услуг.
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта