Логика расчёта такая: сначала клиент указывает, сколько комнат в квартире, либо примерный объём вещей в кубометрах — оба способа ввода должны работать. Дальше отдельно для старого и нового адреса вводится этаж и отмечается, есть лифт или нет: если лифта нет, к цене добавляется наценка за подъём и спуск вещей грузчиками. Ещё одно поле — расстояние между адресами, оно влияет на стоимость подачи машины и переезда через город. И последний параметр — нужна ли упаковка хрупких вещей и мебели: это отдельная платная опция, включается галочкой.
По каждому пункту в итоге должна собираться одна цена, которая пересчитывается сразу при изменении любого поля, без перезагрузки страницы. Желательно показывать не только итог, но и короткую расшифровку — сколько стоят грузчики, сколько подача машины, сколько упаковка, чтобы клиент видел, из чего складывается цифра.
Требования к реализации:
1. Адаптивная вёрстка, форма должна нормально открываться с телефона.
2. Проверка введённых значений, нельзя оставить поле пустым или ввести отрицательное число.
3. Готовый код на HTML, CSS, JS, который можно вставить в существующую страницу сайта без переделки остального оформления.
4. Простые понятные подписи к полям и подсказки, если что-то непонятно.