Инструкция «Бронирование услуг для Getcourse»
Содержание:
1. Установка
2. Настройка
2.1 Основные настройки Config
2.2 Настройка услуг Services
2.3 Настройка рабочего графика
2.3.1 Пример графика 5/2
2.3.2 Пример графика 2/2
3. Просмотр записей с бронированием
4. Автоматическая отмена брони через процесс
5. Автоматическое изменение статуса брони на «Оплачено» через процесс
Важно
Все настройки надо выполнять с одной учетной записи GMAIL.COM. Если у вас нет почты gmail.com, то ее нужно создать тут https://mail.google.com/
1. Установка
Перейдите по ссылке и сделайте копию Google таблицы в свой аккаунт Google по кнопке «Файл» — «Создать копию»

Копирование таблицы
Скопируйте ID скопированной Google Таблицы и сохраните у себя

ID Google Таблицы
Перейдите в Google Календарь , создайте новый календарь или используйте существующий. Часовой пояс должен быть московский.

Создание нового календаря
Перейдите в настройки календаря «Настройки и общий доступ»

Перейдите в настройки календаря «Имеют доступ» и настройте доступ для сотрудников, которые смогут отслеживать бронирования в календаре напрямую. Выдайте полный доступ, чтобы сотрудники могли видеть цвет бронирования (оранжевый - забронировано, зеленый - бронирование оплачено)

На вкладке «Интеграция календаря» скопируйте ID календаря и сохраните себе

Перейдите в Google Apps Script и создайте новый проект

Откройте файл «Код Apps Script.txt», скопируйте код и вставьте в новый проект Apps Script, заменив весь текущий код, который был создан автоматически

Найдите строку «Конфигурационные константы» и замените:
— в «SPREADSHEET_ID» на ID вашей Google Таблицы
— в «CALENDAR_ID» на ID вашего календаря
Никаких других изменений вносить не нужно

Нажмите «Начать развертование» — «Новое развертывание»

Выберите тип «Веб-приложение», запуск сделайте от вашего имени, у кого есть доступ укажите «Все», как на скриншоте. И нажмите «Начать развертывание».

При первом развертывании системе нужно выдать доступ к вашим данным (смотрите скриншоты ниже)


После успешного подтверждения скопируйте себе URL веб-приложения

Создайте новую страницу в аккаунте Getcourse и импортируйте блоки из файла «блоки для импорта.zip», для этого нажмите кнопку «Импорт блоков (ZIP)» и выберите файл
Откройте настройки страницы и в раздел «Теги в разделе HEAD» добавьте весь код из файла «Код для HEAD.txt»

В блоке Javascript «Конфигурация» замените URL веб-приложения на ваш.
Текст в переменных «modalHeader1», «modalHeader2» и «modalDescription» можете поменять по своему усмотрению, этот текст отображается для пользователя в модальном окне успешного бронирования. Сохраните изменения

Создайте 4 дополнительных поля по заказам:
1) Название «dateZapis» (дата записи), тип «Дата»
2) Название «timeZapis» (время записи), тип «Число»
3) Название «IDbron» (id бронирования), тип «Строка»
4) Название «kommentBron» (комментарий пользователя), тип «Текст»
Названия можете поменять на любые удобные для вас, но тип должен быть таким как указано

Скопируйте ID созданных полей и замените их в Javascript «Конфигуратор» в соответствующей переменной. Сохраните изменения

Настройте предложения в форме заказа (невидимый блок сразу под формой бронирования), нужно выбрать хотя бы одно предложение


Укажите все ваши 4 дополнительных поля («dateZapis», «timeZapis», «IDbron», «kommentBron») в «Поля заказа» и сохраните изменения в форме. Остальные поля удалять/изменять не нужно. Данная форма невидима для пользователя и отправляется с помощью скрипта.
При необходимости вы можете добавить обработчики в форму (добавление в группы, запуск процессов и т.д.)

1. Настройка
Вся остальная настройка выполняется в Google Таблице
2.1. Основные настройки Config
Откройте вкладку «Config» и настройте под ваши требования, есть детальные пояснения к каждой настройке. Можно оставить все настройки по умолчанию.
PopUp уведомления включаются только для владельца календаря, сотрудники, которые имеют доступ к календарю, могут вручную их настроить из календаря напрямую.
Для рассылки уведомлений пользователям/сотрудникам на email или в Телеграм используйте функционал рассылок Getcourse, используя в сегментах проверку дополнительных полей заказа.

2.2. Настройка услуг Services
Откройте вкладку «Services», удалите текущий список с примерами услуг и укажите:
1) ID предложения в Getcourse (который добавили в форму заказа)
2) Название (любое)
3) Длительность в минутах (кратное 60), то есть, 60, 120 и т.д.
4) Цена (должна соответствовать предложению)
5) Описание
6) Категория (можете придумать свою), группировка будет происходить автоматически

2.3 Настройка рабочего графика
Откройте вкладку «WorkingHours», отредактируйте расписание:
Начало — начало рабочей смены
Конец — конец рабочей смены
Перерыв нач. — начало перерыва
Перерыв кон. — конец перерыва
Макс. записей в день — максимум записей в сутки (учитываются все услуги)
Максимум записей на слот — максимум записей на одно и то же время
Рабочий день — включите только те дни недели, которые будут доступны для бронирования
Время можно указывать только в таком формате «чч:мм» (пример «11:00»)
Удалять строки или колонки нельзя
2.3.1 Пример графика 5/2

2.3.2 Пример графика 2/2
Чтобы сделать график 2/2, 3/3 и т.д., нужно:
1. Выбрать рабочими все дни недели

1. Открыть вкладку «Holidays» и списком указать все выходные дни, дата в формате 2025-05-09
. В примечании указать любой текст, примечание не видно пользователю при выборе даты в форме бронирования, будет видеть надпись «Выходной день». Для удобства можно использовать формулы, чтобы не писать все даты вручную


3. Просмотр записей с бронированием
Откройте вкладку Google Таблицы «Bookings», здесь будут отображаться все данные по забронированным слотам:
«ID брони» — id бронирования
«ID услуги» — id услуги, он же id предложения
«Название услуги» — название услуги
«Начало» — время начала оказания услуги
«Конец» — время окончания оказания услуги
«Имя клиента» — Имя пользователя
«Email клиента» — Email пользователя
«Телефон» — телефон пользователя
«Комментарий» — комментарий пользователя
«Дата создания» — дата добавления записи
«Статус» — cancelled (отменена) или confirmed (подтверждена)
«Событие Календаря» — id события календаря
«Оплачена» — "Да"/"Нет"

4. Автоматическая отмена бронирования через процесс
Вы можете сделать автоматическую отмену бронирования в Google Таблице и календаре, например, в случае отмены заказа менеджером на стороне Getcourse.
В процессе по заказам используйте проверку наличия заполненного поля «IDbron», пример:

В процесс добавьте блок «Вызвать URL», время ожидания и соединения не ставьте меньше 60 секунд и укажите в URL:
url_веб_приложения?action=cancelBooking&bookingId={object.IDbron}
Пример:
https://script.google.com/macros/s/AKfycbwoqszOADZN8TzwX9R3JRFxGNee-Y-mKL0xKbKGcqPORV2Qn0FXal3UdTK1_aiaq8nwnw/exec?action=cancelBooking&bookingId={object.IDbron}

5. Автоматическое изменение статуса брони
на «Оплачено» через процесс
Можно использовать в случае, если забронированную услугу нужно оплатить. Операция поменяет статус брони в таблице и изменит цвет события в календаре на зеленый
В процессе по заказам используйте проверку наличия заполненного поля «IDbron», пример:

В процесс добавьте блок «Вызвать URL», время ожидания и соединения не ставьте меньше 60 секунд и укажите в URL:
url_веб_приложения?action=confirmPayment&bookingId={object.IDbron}
Пример:
https://script.google.com/macros/s/AKfycbwoqszOADZN8TzwX9R3JRFxGNee-Y-mKL0xKbKGcqPORV2Qn0FXal3UdTK1_aiaq8nwnw/exec?action=confirmPayment&bookingId={object.IDbron}

6. Пример отображения бронирования в календаре на мобильном