Бронирование
Онлайн-запись клиентов: страница в интернете, на которой человек сам выбирает услугу, день и свободное время. После подтверждения в системе сразу появляются задача для мастера и счёт на клиента — вручную заводить ничего не нужно.
Где искать: Модули → Расчеты с клиентами → Регистры → Бронирование
Сам реестр — не журнал записей, а настройка страницы: одна карточка = одна страница записи со своим перечнем услуг, расписанием и оформлением.
Разбор на примере

В списке — номер, URL-слаг, комментарий и название компании. Обычно здесь одна-две записи: отдельная карточка нужна, только если точек записи несколько (например, два филиала с разными мастерами и расписанием).

В шапке задано, чья это страница и кто отвечает за записи:
| Поле | Что делает |
|---|---|
| Номер | Код карточки, подставляется сам |
| URL-слаг | Подпись под названием компании на странице. Это не адрес: страница открывается по uuid |
| Прейскурант | Разово переносит цены из прейскуранта в строки услуг, для товаров которых в нём есть цена; остальные строки не меняются |
| uuid | Идентификатор страницы, выдаётся при создании; изменить нельзя |
| Дизайн | Имя готового шаблона страницы. Пусто — работает стандартная страница |
| Название компании | Заголовок страницы. Обязательное |
| Сотрудник | Логины пользователей через запятую, которым достанутся задачи и оповещения; группу исполнителей окно разворачивает в логины. Обязательное |
| Название телеграм-бота | Бот из подключённых, который напишет о новой записи |
| Закрыто | Страница по ссылке вместо формы показывает надпись о временной недоступности записи и записей не принимает |
| Комментарий | Описание для себя, на страницу не выводится |
| Тип задачи для SMS оповещения | Только для шаблона WashUp: заполнено — каждая запись создаёт ещё одну задачу этого типа, связанную со счётом, и по ней сразу шлёт SMS (SMS-оповещения). Стандартная страница это поле не читает |
Кнопка рядом с надписью «Ссылка на бронирование» (подсказка «Открыть страницу бронирования») открывает страницу в новой вкладке — это и есть тот адрес, который дают клиентам. Работает только для сохранённой карточки в режиме просмотра, иначе — «Сохраните или отмените изменения!».
Если в поле «Сотрудник» указать код группы исполнителей, система развернёт его в перечень логинов участников группы.
Что можно заказать

Матрица «Товары/услуги» — это и есть меню страницы. Каждая строка:
- Товар — услуга из справочника (в окне выбора по умолчанию стоит фильтр «Работа/Услуга»). После ввода кода подставляются описание, цена из карточки товара и продолжительность обслуживания;
- Количество — сколько единиц этой услуги можно взять в один заказ (клиент увидит счётчик с таким максимумом);
- Продолжительность обслуживания — главное поле расписания: именно из него считается, сколько времени займёт запись;
- Цена — то, что клиент видит на странице;
- Ресурсы — конкретный ресурс, то есть мастер или рабочее место, выполняющее эту услугу.

На закладке «B» — другой способ назначения. Вместо конкретного мастера указывают тип ресурса: тогда услугу может выполнить любой из команды, а система сама выберет свободного. Рядом — правило выбора: «Равномерное разделение» или «Разделение по очереди». Ещё одна колонка, «Тип задания», задаёт тип создаваемой задачи.
В примере диагностику делает только ПР1, а замену деталей — вся мастерская с равномерным распределением.
Когда работаем

Здесь задаётся сетка свободного времени:
- Выходные — галочка означает, что в этот день записей нет. В примере отмечены Сб и Вс, остальные дни рабочие;
- Рабочее время — границы дня, с 09:00 до 18:00;
- Шаг заказа в минутах — с каким интервалом предлагается время: 30 мин дают сетку 09:00, 09:30, 10:00…;
- Шаг между заказами в минутах — техническая пауза после каждой записи (10 мин), чтобы мастер успел убрать место.
На каком языке говорит страница

Матрица «Язык» — переводы для страницы. Каждая строка — это услуга + язык + название на этом языке; на закладке «B» к ним добавляются тексты сообщений: о выходном дне, об отсутствии свободного времени, об успешной и неудачной записи.
Коды языков здесь — ua, ru, en; перечень языков в переключателе страницы собирается именно из этой колонки. Если для выбранного языка строки нет, страница возьмёт английский, а не будет и его — описание из матрицы услуг.

Вкладка «Контакты» — то, что видно клиенту под названием компании: адрес, ссылка на карту, телефоны, мессенджеры и соцсети. Пустые поля просто не показываются.
Адрес клиента и карта

Вкладка «Google» решает одну задачу: как клиент вводит свой адрес на последнем шаге записи.
Поле «Ключ API Google Maps» пустое — адрес остаётся обычной строкой: что человек напечатал, то и попадёт в задачу мастера. Ключ заполнен — поле превращается в поиск Google: подсказки по мере набора, выбранная точка на карте, а в задаче — ссылка на эту точку.
Рамка «Ограничения для встроенной карты Google» сужает подсказки до своего региона: широта и долгота задают центр, радиус (км) — расстояние вокруг него. С заполненным радиусом поиск ограничен этой областью жёстко, и адрес из другого города выбрать не получится. Пустые поля — подсказки по всему миру.
Ключ выдаёт консоль Google Cloud, и платит за него фирма: это услуга Google, а не часть системы.
Как выглядит страница

Вкладка «Стиль» — не в нижнем ряду закладок, а вверху, рядом с «Данными»: она про оформление, а не про записи.
- Ссылки на шрифты — адреса подключаемых шрифтов, отдельно для первого экрана и для остальных страниц;
- Цвета страницы — текст, фон страницы, кнопки и контейнер (карточка, в которой лежит содержимое первого экрана); выбираются палитрой;
- Изображение логотипа и фоновое изображение — картинки загружаются прямо здесь.
Пустая вкладка не проблема: страница возьмёт стандартное оформление. Поле «Дизайн» из шапки и эта вкладка решают разные задачи — «Дизайн» подменяет шаблон страницы целиком, «Стиль» настраивает стандартный. Готовый шаблон вправе оформление отсюда не читать: так, шаблон WashUp живёт со своим.
Как это видит клиент

Первый экран — визитка: название, адрес, телефон, иконки мессенджеров и кнопка «К бронированию».

Дальше — перечень услуг с продолжительностью и ценой. Названия взяты из языковой матрицы, цены — из матрицы услуг, счётчик ограничен колонкой «Количество». Внизу виден итог: сколько услуг выбрано, сколько это времени и денег.

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

На последнем шаге клиент видит детали (день, время, услуга, сумма) и оставляет телефон, имя, почту, адрес и комментарий. Кнопка «Сделать заказ» завершает запись.
Что появляется в системе после записи
По номеру телефона система ищет клиента среди контактов — по коду, первому и второму телефону, а также по совпадению окончания номера. Если не нашла, заводит новую карточку клиента, в которой кодом становится сам номер телефона.
Дальше создаётся задача на каждый задействованный ресурс: дата, время начала и конца, название услуги, клиент, его телефон, комментарий с сайта. В исполнители попадают пользователи ресурса; если в ресурсе они не указаны — сотрудник из шапки бронирования.
Одновременно выписывается счёт на этого клиента с выбранными услугами — только теми, что есть в матрице услуг этого бронирования, — и все задачи связываются с ним — в дереве документов видно, что из чего выросло.
Цена в счёте считается заново. Клиент на странице видит цену из матрицы услуг, а счёт берётся по обычным правилам: прейскурант клиента, скидки, НДС. То есть счёт считает цену по прейскуранту счёта, и она может отличаться от цены на странице.
Если в шапке указан телеграм-бот, все причастные (сотрудник из шапки и исполнители ресурсов) получат сообщение о новой записи — при условии, что их telegram-идентификаторы прописаны в настройке бота.
Ещё одна мелочь, о которой стоит знать: адрес, который клиент ввёл на странице, дописывается в его карточку (в следующий раз страница предложит его готовым), а почта — только если в карточке её ещё нет.
Как считается свободное время
- День делится на промежутки по «шагу заказа» от начала до конца рабочего времени.
- Берётся суммарная продолжительность выбранных услуг (с учётом количества).
- Из сетки убираются промежутки, в которые запись не поместится до конца дня.
- Убираются промежутки, занятые невыполненными задачами этих ресурсов, плюс пауза между заказами. Задача, отмеченная как выполненная, время больше не держит.
- Если день отмечен выходным — страница покажет текст о выходном и ни одного времени не предложит.
Когда услугу выполняет тип ресурса, время считается свободным, пока свободен хотя бы один мастер команды. С конкретным ресурсом наоборот: занят он — занято и время.
Как работа делится между мастерами
| Способ | Кого выберет система |
|---|---|
| Равномерное разделение | Того, у кого на эту дату меньше всего задач; при равном количестве — первого по алфавиту кода |
| Разделение по очереди | Первого свободного по алфавиту кода |
Что проверяется при сохранении
Название компании и сотрудник обязательны — без них страницу некому показывать и некому обрабатывать записи. Логин сотрудника проверяется: «ИНЖЕНЕР2 Пользователь не найден».
В строке услуги должно быть ровно одно из двух — конкретный ресурс или тип ресурса. Оба сразу: «Тип ресурса и ресурс не могут быть введены одновременно». Ни одного: «Тип ресурса или ресурс должны быть введены».
Для типа ресурса обязателен способ распределения, и только один: без него — «Тип распределения не может быть пустым, если это тип ресурса», с обеими галочками — «Только один из типов распределения должен быть полем».
Ресурс и тип ресурса должны существовать в справочниках, иначе — «Этот ресурс не найден» или «Этот тип ресурсов не найден».
Имя дизайна проверяется по списку готовых шаблонов: «Недопустимое имя файла» (перед текстом — введённое имя).
Типичные ситуации
На странице не предлагается ни одного времени. Чаще всего не заполнен «Шаг заказа в минутах» — без него сетка не строится вообще. Дальше по списку: день отмечен выходным, рабочее время не задано, все промежутки заняты задачами мастера.
Запись пришла не тому исполнителю. Проверьте ресурс: если в нём не указаны исполнители, задача уйдёт сотруднику из шапки бронирования.
Страница на английском, хотя фирма русскоязычная. В матрице «Язык» код должен быть ru. Если там пусто или другой код, страница не найдёт переводы и покажет английский вариант.
Клиент видел 250 ₴, а счёт на другую сумму. Счёт считает цену по прейскуранту счёта (прейскурант клиента, его скидки), и она может отличаться от цены на странице — та берётся из матрицы услуг бронирования.
После записи в справочнике появился контакт со странным кодом вроде 0681234567. Это новый клиент, которого страница не нашла по телефону и завела сама; код — его номер. Карточку стоит дозаполнить вручную.
Запись по паролю. Такой возможности нет: клиент всегда оставляет телефон. Вкладка «Регистрация» с выбором «Телефон» / «Телефон + Пароль» была убрана из карточки — страница записи этот выбор никогда не читала.
Временно прекратить запись. Поставьте галочку «Закрыто»: страница по ссылке вместо формы покажет надпись, что запись временно недоступна (сразу на украинском, русском и английском), услуг и свободного времени не отдаёт и заказов не принимает. Сняли галочку — страница работает по той же ссылке.