Как включить модуль, где взять ссылку на портал, собрать из блоков то, что клиент видит, пригласить его, как выглядит вход по коду из письма и как отобрать доступ.

Личный кабинет клиента — это отдельный вход для ваших клиентов. Клиент открывает ссылку, вводит свою почту, получает код из письма и попадает в раздел, где видно только его: заказы, документы, счета и обращения. Пароля он не заводит, места в вашей команде не занимает и в кабинет сотрудника не попадает никогда — это две разные двери.
Собирается портал целиком вами: что показывать, решаете вы, блок за блоком. Пока вы не добавили ни одного блока, клиенту показывать нечего — портал так и открывается пустым.
Дальше — весь путь: сначала то, что делает владелец, потом то, что видит клиент, и в конце — как отобрать доступ, если это понадобилось.
«Настройки» → «Конструктор» → вкладка «Модули» → карточка «Личный кабинет клиента» → кнопка «Включить» и подтверждение.
Может быть, модуль уже стоит. Если при регистрации вы выбрали сферу «Клиника» или «Услуги для бизнеса» и на вопрос «Нужен клиентам личный кабинет?» ответили «да» (или пропустили его), раздел «Обращения» приехал вместе с кабинетом — проверьте меню, прежде чем что-то включать. Сам портал это не поднимает: за него отвечает следующий шаг.
Модуль добавляет в кабинет один раздел — «Обращения»: сюда падают вопросы, которые клиент задаёт из своего кабинета. У обращения есть тема, ссылка на клиента, его вопрос, ваш ответ, ответственный, дата ответа и статус («Новое» → «В работе» → «Отвечено» → «Закрыто»). Раздел открывается списком, а рядом — переключатель видов: доска по статусам показывает те же обращения колонками. На карточке самого клиента появляется таблица его обращений.
Вместе с разделом включается правило «Обращения: новое — назначить ответственного и уведомить»: новое обращение по очереди назначается кому-то из сотрудников, и этот человек получает уведомление. Правило видно в «Правилах», там же его можно выключить.
Важная развилка, о которой стоит знать сразу: модуль и портал — не одно и то же. Модуль готовит только раздел обращений; сам кабинет живёт отдельно и без модуля тоже работает — просто писать вам клиенту будет негде. Настройки кабинета — на следующем шаге.

После установки модуля в «Настройках» появляется вкладка «Портал». Откройте её — и увидите заголовок «Портал включён»: кабинет работает сразу, включать его отдельно не нужно. Ничего страшного при этом не происходит — войти сможет только тот, кому вы откроете доступ на шаге 4, а всем остальным по ссылке видна обычная форма входа.
Первая панель — «Портал и ссылка»:

Вторая панель — «Что клиент видит в портале». Портал не показывает вашу CRM целиком: он собирается из блоков, и каждый блок вы описываете четырьмя ответами — в том порядке, в котором их спрашивает окно.
Одного в списке полей вы не отметите, и это намеренно: ссылочные поля выбрать нельзя ни в одном блоке — они в списке видны, но галочка у них не ставится. Ссылка — это указатель на другую запись, и в кабинете клиента ей делать нечего.
Для блока обращений отметьте поле «Ответ». Без него клиент увидит у себя только плашку «Отвечено», а самого текста ответа в кабинете не будет (сообщение, которое вы отправите кнопкой, придёт целиком в любом случае). Кабинет напомнит об этом на карточке обращения, но проще выбрать поле сразу.
Дополнительно у блока можно включить «Клиент может создать запись» — тогда клиент сможет сам завести запись этого раздела (типичный случай — обращение). Тумблер появляется только у раздела, для которого настроена форма приёма заявок («Конструктор» → «Форма приёма заявок»): именно она и решает, какие поля клиент вправе прислать, — второго набора мы не заводим. Модуль форму не привозит, её собираете вы, и без неё пункт «Мои обращения» в кабинете клиента не появится: вести туда, где написать нельзя, мы не хотим.
Ниже — «Позиция» (чем меньше число, тем выше блок на странице клиента) и тумблер «Показывать блок»: снятый блок сохраняется, но клиенту не показывается.
Блоков над одним разделом может быть несколько — это вкладки. Типичный случай: «Предстоящие» и «Завершённые» над одним разделом визитов, с разными наборами полей. Просто добавьте второй блок над тем же разделом и той же связью — окно предупредит строкой «У этого раздела уже есть блок. Новый встанет рядом отдельным пунктом меню клиента». Номер вкладки подбирается сам, спрашивать вас о нём не будем; всего вкладок у одного раздела может быть до десяти.
Клиент увидит их отдельными пунктами меню и различит по ЗАГОЛОВКАМ — поэтому называйте вкладки так, чтобы разница читалась без пояснений («Предстоящие визиты» и «История», а не «Визиты» и «Визиты 2»).
У готового блока раздел и связь уже не поменять: окно правки показывает их одной строкой «Что показываем». Другая связь — это другой блок: снимите этот и добавьте новый. Порядок вкладок между собой двигается полем «Позиция», как и у любых других блоков.

Третья панель — «Доступы в портал». Кнопка «Пригласить клиента» открывает окно, где вы выбираете раздел с клиентами и конкретную карточку — тем же поиском, что и в ссылочных полях формы. Почту вводить не нужно: она берётся из карточки, и письмо уходит на неё.
В списке доступов видно, кто и когда заходил («Заходил 12.08» или «Ещё не заходил»), — по нему понятно, дошло ли приглашение.
Приглашение — не единственный путь. Клиент может войти и сам: если он введёт на странице портала почту, которая указана в его карточке в одном из открытых блоков, доступ заведётся на лету. Приглашение нужно там, где вы хотите позвать клиента первым.

Дальше — глазами клиента. Он видит название вашего пространства и одно поле — почту. Ни регистрации, ни пароля: пароль, заведённый ради двух визитов в год, к третьему забывается и превращается в ещё один повод позвонить вам.
Ответ страницы всегда один и тот же — «Если такой адрес у нас есть, письмо уже в пути. Код действует 15 минут». Так сделано специально: иначе по порталу можно было бы проверять, обслуживается ли у вас конкретный человек.
Именно поэтому опечатку страница ловит до отправки: адрес, не похожий на адрес, она просит проверить прямо у поля. Иначе клиент с опечаткой получил бы то же самое «письмо отправлено» и ждал бы письма, которое физически некуда слать.
Запрос кода ограничен: пять писем в час на один адрес. Обычному клиенту этого не заметно, а перебор чужих адресов упирается в потолок.

В письме приходят две равноценные вещи: шестизначный код и ссылка «войти одним нажатием». Клиент пользуется тем, что удобнее, — с телефона обычно ссылкой, с чужого компьютера кодом.
И код, и ссылка живут 15 минут и срабатывают один раз: как только одним из них воспользовались, гаснут оба.
При первом входе клиент подтверждает согласие на обработку персональных данных — без этого кабинет не откроется. Это требование закона, и оно встроено в сам вход, а не оставлено на вашу внимательность.

Клиент попадает на главную: ближайший визит, что нового и счёт к оплате, если он есть. Ниже — блоки, которые вы собрали на шаге 3, а рядом — документы и счета.
Что клиент может: смотреть, скачивать документы, оплачивать счета, писать обращения и — если один из блоков стоит над разделом онлайн-записи — переносить и отменять свой визит (шаг 11). И всё.
Чего он не может:

В разделе «Мои обращения» у клиента стоит кнопка «Новое обращение». Она появляется не «если модуль установлен», а когда у блока включено «Клиент может создать запись» и форма приёма заявок этого раздела отдаёт хотя бы одно поле. Какие именно поля клиент заполняет, решает та же форма — фиксированной пары «тема и текст» здесь нет.
Клиент заполняет поля и нажимает «Отправить» (рядом — «Отменить»). Обращение сразу появляется у него в списке, а сверху — строка «Обращение принято — мы ответим на него в кабинете». Привязку к его карточке проставляет сервер: подменить её из кабинета клиента нельзя.
У каждого обращения в списке клиента стоит плашка состояния — «Новое», «В работе», «Отвечено» или «Закрыто». Это то же состояние, которое вы видите на доске в кабинете, теми же словами: клиент не гадает, дошёл ли его вопрос. Плашка появляется сама и не зависит от того, добавили ли вы поле «Статус» в блок.
Какие типы полей клиент может заполнить. Текст, число, сумма, галочка («да/нет»), дата (открывается календарь — вписать «завтра» словами нельзя) и выбор из списка — вариантами и подписями из вашего же конструктора, в том же порядке. Ссылочные поля клиенту не показываются никогда, а поля с картой, набором значений, временем, рейтингом и штрихкодом в кабинете клиента пока не заполняются.
Если такое незаполнимое поле стоит в форме и помечено обязательным, кнопки «Новое обращение» не будет вовсе — вместо неё клиент увидит строку с ПЕРЕЧНЕМ этих полей и предложением связаться привычным способом. Так честнее: обращение с незаполненным обязательным полем всё равно не сохранилось бы, а клиент чинил бы поля, которых не видит. Увидели такую строку у себя — уберите поле из формы приёма заявок или снимите с него обязательность.
Если форма приёма заявок не отдаёт ни одного поля, кнопки не будет — вместо неё клиент увидит честную строку «Написать обращение отсюда пока нельзя — свяжитесь с нами привычным способом, и мы заведём его сами».
Клиент может приложить файл к обращению. Под карточкой каждого обращения стоит кнопка «Прикрепить файл» — фото трещины, скан документа, скриншот ошибки. Файл ложится на саму запись обращения, поэтому вы видите его в карточке в секции «Файлы» ровно там же, где файлы, которые кладёте сами; клиенту он виден в его же разделе «Документы». Кнопка появляется у УЖЕ отправленного обращения: файл цепляется к записи, а до отправки записи ещё нет.
Ограничения по файлу честные и три: до 8 файлов на одно обращение, размер — тот же потолок, что и у вложений в кабинете, и общее место пространства из вашего тарифа. Что именно не так, портал скажет клиенту словами: «файл слишком большой», «в пространстве закончилось место», «файл пустой».

В кабинете обращение появляется в разделе «Обращения». Переключите вид на доску — обращение стоит в колонке «Новое». Ответственный уже назначен, и ему пришло уведомление в колокольчик.
Откройте карточку обращения — на ней есть блок «Обращение клиента»: вопрос клиента, плашка состояния и поле для ответа. Напишите ответ и нажмите «Отправить ответ». Кнопка делает три вещи сразу:
Под кнопкой блок честно говорит, чем всё кончилось: «Ответ отправлен клиенту — почта» или «Ответ сохранён, но клиенту не ушёл: …» с причиной. Если у клиента в карточке нет ни телефона, ни почты, блок предупредит об этом до того, как вы начнёте писать.
Можно и по-старому — вписать ответ прямо в поле «Ответ» формы и сохранить карточку. Текст сохранится и будет виден клиенту в кабинете, а плашка у него станет «Отвечено» сама. Но сообщения он не получит: письмо и Telegram отправляет только кнопка.
Статус двигаете сами, перетаскиванием по доске; «Отвечено» кнопка ставит за вас.

Сначала найдите человека. Когда кабинет открыт десяткам клиентов, листать список глазами бессмысленно: над панелью «Доступы в портал» стоит поиск по адресу почты. Введите часть адреса и нажмите Enter (или просто уйдите из поля) — рядом появится «Найдено: N», а в списке останутся только подходящие строки; Escape очищает поиск одним нажатием. Сам список идёт страницами по 25 строк: внизу «Назад»/«Дальше» и подпись вида «26–50 из 137». Пока доступов меньше страницы, полосы листания нет вовсе — искать и листать нечего.
В панели «Доступы в портал» у каждой строки справа есть значок «⋮», а в нём — пункт «Отключить доступ». Нажали, подтвердили — все входы этого клиента гаснут немедленно, со всех его устройств.
Это единственный способ закрыть кабинет прямо сейчас. Смена срока входа так не работает: она не гасит ни одной открытой сессии. Новый срок достаётся следующим входам, а у клиента, который кабинетом пользуется, — очередному автопродлению (раз в сутки): его окно пересядет на новый срок, отсчитанный от этого момента. Мгновенно закрыть чужой доступ можно только «Отключить доступ».

Этот шаг работает, только если один из блоков (шаг 3) стоит над разделом онлайн-записи. У заказа, счёта или обращения переносить нечего, и кнопок там не будет.
Клиент открывает карточку визита — под полями стоят «Перенести» и «Отменить визит», а ниже строка: «Отменить или перенести можно не позднее чем за 2 часа до визита». Два часа — это ваша настройка окна отмены из Настройки → Онлайн-запись; та же самая, что действует на странице статуса по ссылке. Меняете её там — меняется и здесь, отдельного переключателя у портала нет.
«Отменить визит» переводит запись в «Отменена» и сразу возвращает час в сетку — не после того, как кто-то заметит пустое окно в расписании, а в момент нажатия. У вас в календаре час освобождается тем же движением.
«Перенести» открывает ту же сетку свободных часов, что и ваша публичная страница записи: та же услуга, тот же график, тот же шаг сетки и горизонт. Клиент выбирает день и время — мастера система подбирает сама из свободных. Старый час освобождается и новый занимается вместе, поэтому двойной брони не будет: если это время займут в ту же секунду, клиент увидит «это время только что заняли» и сетка перечитается.
Когда кнопок нет — портал объясняет почему, а не прячет их молча:
Что клиент не может из портала: сменить услугу, выбрать конкретного мастера или записаться заново — это уже новая запись, и она делается на вашей странице онлайн-записи.
