Три вида работы — опт, средний клиент, розница / другой регион. Это одна программа, не три.
Каталог и наполнение одни. Цены разные. Клиенту уходит только его ссылка: чужой прайс он не видит и не знает, что прайсов несколько.
Короткий ответ
Нет, это не три разные программы и не тройная стоимость разработки. Правильно считать так: одна витрина, одна админка, один каталог товаров и фото — плюс модуль «прайс-листы» и три закрытые витрины (три ссылки). Вы правите название и картинку один раз. Цену для опта, для среднего клиента и для розницы задаёте в трёх колонках. Перебивать весь прайс трижды не нужно.
«Задублировать три сайта» можно, но это как раз тот путь, где каждый раз придётся менять цены в трёх местах. Ниже — все рабочие схемы, плюсы, минусы и как это не светить клиентам.
Как вы это сформулировали
- 1. Прайс для оптовиков.
- 2. Прайс для розничных / «средних» клиентов.
- 3. Та же программа для другого региона — наполнение то же, цены другие.
Афишировать нельзя: кто получил опт, не должен видеть, что есть розница, и наоборот. Вы отправляете одну ссылку — и этой одной они пользуются. Вторую программу в их приложении включать нельзя.
Все варианты такой работы
1. Три полные копии сайта
Три отдельных деплоя: три админки, три каталога, три ссылки. Формально «задублировали». Наполнение вы копируете руками или файлом.
- + Полная изоляция: в коде второй витрины нет чужих цен вообще
- + Проще объяснить: «вот вам ваш сайт»
- − Любая смена фото или названия — три раза
- − Именно тот сценарий, которого вы хотите избежать: перебивать весь прайс
- − Три сопровождения, три места, где можно ошибиться
Изоляция: Клиент видит только свою копию. Чужие цены физически в его приложении отсутствуют.
2. Одна админка — три прайса — три закрытые ссылки
Один каталог. У товара три цены. Три адреса (поддомен или секретная ссылка). Витрина по ссылке показывает только свой столбец. Вторая и третья цена в это приложение не подмешиваются.
- + Каталог правите один раз
- + Цены для опта / среднего / розницы — отдельно, без перебивки всего списка
- + Клиенту уходит одна ссылка, как вы и хотите
- + Считается одной программой плюс модуль, не тройной разработкой
- − Технически три цены лежат в одной базе — доступ только у вас в админке
- − Ссылку опта нельзя публиковать в открытом доступе (и не нужно)
Изоляция: Оптовик открывает только zakaz-opt… и видит оптовые суммы. Переключателя «розница» нет. Вторая программа для него не включена.
3. Один адрес, вход по коду прайса
Одна ссылка на всех. Перед каталогом просят код: ОПТ, ПАРТНЁР, РОЗНИЦА. По коду подставляется столбец цен.
- + Не нужно помнить три адреса
- + Код можно сменить, если утёк
- − Коды пересылают, угадывают, светится факт, что прайсов несколько
- − Прямо противоречит «афишировать нельзя»
Изоляция: Слабая. Сам факт ввода кода говорит клиенту, что есть другие режимы.
4. Личный кабинет, группа цен на клиента
Каждый клиент входит по телефону/паролю. Вы в админке вешаете на него группу: опт, средний, розница. Без входа чужих цен нет.
- + Самая жёсткая изоляция
- + Можно дать Иванову опт, Петрову розницу, даже если они в одном городе
- + История заказов привязана к человеку, не к ссылке
- − Тяжелее и дороже: регистрация, пароли, «забыл пароль»
- − Для «просто отправь ссылку оптовикам» избыточно
Изоляция: Без логина витрины нет. Соседний прайс не угадать ссылкой.
5. Общий каталог + загрузка прайса файлом
Товары и фото — в админке. Цены опта / среднего / розницы подгружаются Excel или CSV. Файл на витрину, не три ручных перебивки.
- + Привычный Excel, которым уже пользуетесь
- + Большой прайс обновляется пачкой
- − Нужна аккуратность в файле (артикул должен совпасть)
- − Сама по себе загрузка не прячет витрины — всё равно нужны три ссылки или кабинеты
Изоляция: Как в варианте 2 или 4: файл меняет цифры, а кто какой прайс видит — решает ссылка или логин.
Сравнение
| Вопрос | 3 копии | 3 витрины, 1 админка | Код на входе | Кабинеты |
|---|---|---|---|---|
| Это три программы? | по сути да | нет, одна | нет, одна | нет, одна |
| Перебивать весь прайс? | да, ×3 | нет, 3 колонки | нет, 3 колонки | нет, группа на клиента |
| Клиент видит чужие цены? | нет | нет, на его ссылке | если узнает код | нет |
| Знает, что прайсов несколько? | нет | нет | скорее да | нет |
| Отправить «одну и всё» | да | да | одна ссылка + код | логин |
| Фото править один раз | нет | да | да | да |
Как выглядит рекомендуемый вариант
В админке у каждого товара три цены. Фото, название, группа — общие. Меняете этикетку один раз — она сразу на всех витринах. Меняете только оптовую цену — розница и регион не трогаются.
| Товар | Опт | Средний | Розница / регион |
|---|---|---|---|
| Вода 1,5 л негаз. | 54,00 ₽ | 72,00 ₽ | 79,99 ₽ |
| Вода 19 л | 210,00 ₽ | 260,00 ₽ | 299,00 ₽ |
| Кулер напольный | 4 200 ₽ | 5 200 ₽ | 5 990 ₽ |
Три закрытые ссылки, например:
- zakaz-opt.вашдомен.ru — видит только колонку «Опт»
- zakaz-partner.вашдомен.ru — только «Средний»
- zakaz.вашдомен.ru — только «Розница»
Ссылки не публикуются в общем каталоге и не ведут друг на друга. В поиске Google/Yandex витрины опта закрываются от индексации. Клиент получает одно сообщение с одной ссылкой — и ставит на экран «Домой» только это приложение. Внутри нет переключателя «другой прайс».
Почему это не три программы
Три программы — это три разных кода, три админки, три каталога. Тогда да: прайс перебивается трижды, фото грузятся трижды, любая доработка (корзина, повтор заказа, баннер) делается три раза. По деньгам это близко к 30 + 30 + 30 тыс. и по сопровождению хуже.
Одна программа с тремя прайсами — тот же код, что уже сделан: каталог, корзина, почта, мессенджер, админка. Добавляется только хранение трёх цен и раздача витрины по ссылке. Доработка считается модулем, не новой разработкой с нуля.
Что предлагаем сделать
Оставить текущее приложение как розничную витрину. Добавить в админке колонки «Опт» и «Средний / регион». Выдать две дополнительные закрытые ссылки. Вы сами правите только цифры в колонках — ассортимент общий. Клиенту уходит одна ссылка, второй прайс в его приложении не включён.
Срок модуля — 3–5 дней к уже готовому Старту. Аккаунты сторов по-прежнему не нужны: у каждой витрины своя иконка на домашнем экране.