Клиент приходит в магазин и общается с менеджером. Тот рассказывает про разные варианты решения задачи клиента и называет какие-то цены. Клиент уходит и через час забывает все о чем ему говорили. Чтобы этого не было хочу сделать так чтобы например клиент мог уйти с красивой бумажкой на которой перечислен товар о котором общались, с ценами. Для этого:
Делаем скрытый для клиента раздел, например который виден авторизованному клиенту только при входе в личный кабинет сайта, простому посетителю (который еще не завел аккаунт на нашем сайте) только с какой-то определенной страницы, а менеджеру этот раздел виден через админку. Называться он может "составление сметы" или не важно как.
Суть следующая: менеджер накидывает туда любой товар в любом количестве точно также как это делает клиент в корзину. Затем менеджер может зайти туда как в корзину, отредактировать кол-во товара, цены вручную и имеет возможность добавить пустую строку или удалить ее, в которой можно писать что-то типа "монтажные работы" и стоимость. Эта цифра потом суммируется вместе с товаром.
По сути работа этого раздела очень похожа на работу страницы заказа в админпанели. Только что это не реальные заказы, а пока только коммерческие предложения, готовые превратиться в заказы.
Далее менеджер вписывает номер данного коммерческого предложения в отдельную строку и некую краткую инфу о клиенте. Типа имя, телефон, адрес имэйл. Все поля необязательны к заполнению. После этого нажимает кнопку "сохранить". Как только эта кнопка нажата смета сохраняется и становится видна в админке, личном кабинете (для авторизованных) и на упоминавшейся определенной странице (для простых посетителей, доступ к продолжению страницы как-то закрыть по емейлу или номеру предложения, чтобы чужой человек не попал в то предложение, которое предлагается не ему). И тут же оформленное предложение отправляется на указанный мной е-мэйл (автоматически при нажатии кнопки сохранить). После сохранения становится доступной посылка на печать сметы и она печатается в предоставленный нами шаблон.
Создается раздел "коммерческие предложения" в личном кабинете клиента и еще та самая определенная страница для простых посетителей, видимо ссылку на эту страницу логично поместить прямо в шапке сайта. Нажав на ссылку простой (не имеющий еще аккаунта) клиент попадает на страницу сообщающую какую-то инфу про гарантии и что-то типа "принимаю условия ознакомления с коммерческим предложением" вводит свой е-мэйл (который естественно сохраняется на сайте в привязке к номеру коммерческого предложения), вводит номер коммерческого предложения (его он получил вместе с визиткой в магазине) и получает на почту ссылку, перейдя по которой попадает в то самое коммерческое предложение которое составил менеджер. Изменять там ничего клиент не может. Только смотреть и делать переходы на страницы с указанным в нем товарами с возможностью возврата назад в это коммерческое предложение. Печатать ему возможность давать не обязательно.
Сутью всего вышесказанного должно быть следующее – все что оформляется в корзине, спрашивается в обратной связи, комментируется в магазине - получает на свое мыло хозяин магазина в виде отдельных сообщений. Если не имеющий еще аккаунта клиент детально заинтересовался чем-то (именно коммерческим предложением) то полезет смотреть и мы искусственно получим хотя бы его мыло (посмотреть предложение нельзя пока не введешь мыло). Потом всегда можно спросить что вас не устроило, почему не купили и так далее.
В разделе "гарантии" внизу создается кнопка "поставить объект на гарантию" нажав куда клиент вводит номер сметы, соглашается со всеми условиями и подтверждает согласие. Где-то в админке там где хранится список всех посчитанных смет программа ставит значек "взято на гарантию" и дата. И там же есть пометка о том прочитано ли коммерческое предложение клиентом.