Автоматизация процесса бронирования залов и столов в сфере ресторанного бизнеса зачастую является непростой и требует привлечения либо дополнительного ПО, либо разработки, либо интеграций по API. Один из вариантов синхронизации iiko и Битрикс24, если вы ведете учет бронирований в сделках и изначально создаете не бронь в iiko, а сделку в Битрикс24, это интеграция Пинкит. О настройке расскажем в статье.
1. Передача сделок из Битрикс24 в бронирования iiko. Проблема и решение
Один из наших клиентов владеет сетью ресторанов. Каждый ресторан имеет несколько залов, которые можно бронировать на мероприятия. Также бронировать можно отдельные столики, если гость хочет провести вечер, а не организовывать мероприятие.
Ситуация заключается в следующем: залы и столики бронируются через менеджеров по продажам, которые работают в Битрикс24 (например, из переписки с онлайн-консультантом на сайте, который автоматически создает лид в Битрикс24).
Другие шаблоны для iiko вы можете бесплатно установить по ссылке.
Алексей Окара, продакт-менеджер Пинкит
Заказчик также использует стороннее приложение, с помощью которого сделка создается напрямую из календаря Битрикс24.
Залы в сделке Битрикс24 указываются в форме сущности Товар. В сделке указывается начало брони, конец брони, сумма, контакт клиента, помещение.
Заказчик обратился с задачей выгрузки сделок в бронирования iiko с сопоставлением по залам, чтобы автоматически передавать бронь в работу и подключать кухню к заказу без ручного труда.
Мы предложили следующее техническое решение:
1.1. Настроить интеграцию «Создать бронь в iiko на основании сделки в Битрикс24»
- Шаг 1 – Битрикс24 - сделка обновлена при переходе на стадию «Создать бронь в iiko»
- Шаг 2 – Обрабатываем информацию (Контакт, делаем сопоставление залов или столов)
- Шаг 3 – iiko – создать бронь (Выбираем одну конкретную организацию, заведение)
- Шаг 4 – Сопоставление полей (залов и помещений, суммы, дата начала и завершения)
Шаблон интеграции можно установить здесь.
Далее приведем пример настройки.
2. Создать бронь в iiko на основании сделки в Битрикс24
2.1. Шаг 1 - Откуда
Забираем данные в Битрикс24 при обновлении сделки (перевод на стадию «Создать бронь в iiko».
2.2. Шаг 2: Инструменты
2.2.1. Получаем список организаций и Контакт
- Проверить выгрузку, была ли ранее
Используем Поиск ID соответствующий сущности в поле source.ID.
- Если ранее бронь была создана, тогда прервать
Используем проверку в поле step14. Условие - (Логическое) Истина, Действие - прервать, если проверка пройдена.
- Получить все организации, чтобы потом можно было посмотреть их ID и подставить в STEP2
Используем API-запрос Методом GET с указанием URL = /1/organizations
- Получить контакт
Используем API-запрос Методом GET с указанием URL = /crm.contact.get?ID={{source.CONTACT_ID}}
- Получить терминальную группу организации, ID можно взять в STEP1
Используем API-запрос Методом POST с указанием URL = /1/terminal_groups
Тело запроса:
{
"organizationIds": ["841cd820-194a-49b1-a07e-6733cb8d73c6"]
}
- Возвращает все ресторанные секции указанных групп терминалов, для которых доступно бронирование банкета/резерва
Используем API-запрос Методом POST с указанием URL /1/reserve/available_restaurant_sections
Запрос:
{
"terminalGroupIds": [
"{{step3.terminalGroups.0.items.0.id}}"
],
"returnSchema": true,
"revision": 0
}
2.2.2. Форматируем номера телефонов, даты
- Отформатировать номер телефона
Используем Форматирование номера телефона в поле step2.result.PHONE.0.VALUE. Формат - +xxxxxxxxxxx.
- Дата начала брони
Используем Форматирование даты/времени в поле source.UF_CRM_DATETIME_START. Условие выполнения - source.UF_CRM_DATETIME_START.
- Дата начала брони (timestamp)
Используем Форматирование даты/времени в поле source.UF_CRM_DATETIME_START. Условие выполнения - source.UF_CRM_DATETIME_START.
- Дата завершения брони
Используем Форматирование даты/времени в поле source.UF_CRM_DATETIME_END. Условие выполнения - source.UF_CRM_DATETIME_END.
- Дата завершения брони (timestamp)
Используем Форматирование даты/времени в поле source.UF_CRM_DATETIME_END. Условие выполнения - source.UF_CRM_DATETIME_END.
2.2.3. Вычисляем длительность банкета
- Дата завершения брони (timestamp) - Дата начала брони (timestamp)
Используем Математическое действие в поле step9. Действие - Вычесть, Второе значение или элемент массива - {{step7}}.
- (Дата завершения брони (timestamp) - Дата начала брони (timestamp))/60
Используем Математическое действие в поле step10. Действие - Разделить, Второе значение или элемент массива - 60.
2.2.4. Сопоставление залов по ID
- Тут необходимо прописывать сопоставление ID зала (товара) с ID зала в iiko web
Используем Сопоставление данных в поле source.UF_CRM_ORDER_PLACE_LIST. Сопоставляем товар в сделке Битрикс24 и зал в iiko.
- Преобразовать в массив
Преобразуем строку в массив в поле step12.
2.3. Шаг 3: Куда
Создаем бронь в iiko.
2.4. Шаг 4: Сопоставление данных
Сопоставляем имя контакта, номер телефона, начало брони, фамилию контакта.
Добавляем пользовательские сопоставления (количество гостей и ID терминала).
2.5. Запуск
Запускаем.
3. Итог
Описанная выше интеграция автоматически создает бронь в iiko из сделки Битрикс24 при переводе сделки на нужную стадию. Передаются все заполненные поля из Битрикс24 с сопоставлением данных по залам, которые бронируются на банкет.
Готовый шаблон интеграции есть по ссылке.
Возникли сложности с настройкой? Напишите нам в Телеграм или WhatsApp, расскажите о вашем бизнес-сценарии, и наши инженеры помогут настроить интеграцию без разработки.
Если вам нужна интеграция с сервисом, которого в Пинкит нет, или приватное событие/действие, через Пинкитбилдер вы можете самостоятельно добавить авторизацию, необходимые события и действия без разработки.
Подберите свой шаблон интеграции без регистрации здесь.
Алексей Окара, продакт-менеджер Пинкит
#пинол #пинкит #pinall #pinkit #bitrix24 #битрикс24 #amo #amocrm #амо #амоцрм #crm #црм #црмсистема #црм_система #внедрениецрм #интеграция #миграция #обмен #googlesheets #рестораны #iiko #пинкит_iiko_битрикс24