Morris Deluxe

В проде

Сайт логистической компании: перевозки внутри Китая и доставка из Китая

  • Next.js
  • PostgreSQL
  • Prisma
  • Docker
Morris Deluxe

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

Заказчик — логистическая компания Morris Deluxe (ОсОО «Морис Делюкс», Бишкек). Она возит грузы внутри Китая — с завода в порт, со склада на склад, собирает партии от нескольких поставщиков в одну отправку — и доставляет из Китая в Россию и Кыргызстан.

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

Что это даёт компании

  • Заявка приходит уже с расчётом. Мест, вес, объём и оплачиваемый вес посчитаны до того,

как менеджер взял трубку.

  • Меньше споров о цене. Сайт сам объясняет словами, почему платить придётся по объёму:

«оплачивается 334 кг вместо фактических 30 — груз лёгкий и габаритный».

  • Видно, откуда заявка. Перевозка внутри Китая и доставка из Китая — разные клиенты

и разные разделы; в заявке записано, с какого она пришла.

  • Заявка не теряется. Сначала она пишется в журнал на диске, потом в базу, и менеджерам

уходит сообщение в Telegram со ссылкой на карточку.

Два раздела — два разных клиента

Перевозку внутри Китая заказывает тот, у кого там производство или закупка: ему нужно забрать груз с завода, собрать партию на складе и привезти в порт к отходу судна. Доставку из Китая заказывает импортёр: ему важны оформление, сроки и страна назначения. Форма у разделов общая, но вопросы разные: страну назначения и способ оформления спрашиваем только там, где они имеют смысл.

Раздел «Перевозки внутри Китая»: завод → порт, склад → склад, консолидация партий
Раздел «Перевозки внутри Китая»: завод → порт, склад → склад, консолидация партий

Форма, которая считает груз

Обычно в такой форме три поля: вес, объём и телефон. Объём клиент считает сам и ошибается, а разбираться потом менеджеру. Здесь груз вводится местами — так, как он лежит на складе: длина, ширина, высота, вес и количество.

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

коэффициент — старые заявки останутся прежними.

  • Необязательные вопросы спрятаны в раскрывающийся блок: длинная форма отпугивает сильнее,

чем короткая недоспрашивает.

  • Опасных грузов в списке нет — компания их не возит, и собирать заявки, от которых придётся

отказываться, незачем.

Форма груза: два места метр на метр по 15 кг — к оплате 334 кг, и сайт объясняет почему
Форма груза: два места метр на метр по 15 кг — к оплате 334 кг, и сайт объясняет почему

Админка заявок

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

Телефон приводится к одному виду на сервере (+7, +996, +86): по номеру потом звонят и ищут клиента, поэтому «спросить у Азамата» в это поле не запишется.

Поиск, реклама и ответы ИИ

  • У каждого раздела свои ответы на частые вопросы — с разметкой, которую понимают поисковики.
  • Обзор сайта для ИИ-ответчиков собирается из тех же текстов, что и страницы.
  • Цель «заявка» срабатывает на странице благодарности и один раз: считаются отправленные

заявки, а не нажатия на кнопку.

  • Согласие на обработку персональных данных, политика и уведомление о cookie — на месте

с первого дня.

Что проверено до запуска

Вёрстка — в трёх браузерных движках, включая Safari, на ширинах от телефона до 4K. Отдельными прогонами — арифметика расчёта, приём заявки, права в админке и заголовки защиты. Свои страницы «не найдено» и «что-то сломалось», резервные копии базы по расписанию.

Запустили 10 октября 2026 года на домене заказчика.

Другие проекты

Есть похожая задача?

Расскажите в двух словах — ответим, сколько это стоит и сколько займёт.