Здравствуйте, друзья.
В этом уроке я хотела бы рассказать о том, как можно легко настроить синхронизацию бронирований с календарем Google.
Давайте предположим, что у нас уже есть простой ресурс для аренды 4-х квадроциклов по часам, у которого уже есть какие-то бронирования.
Среди тарифов мы имеем как разделяемый, для бронирования по одному квадроциклу, так и эксклюзивный для бронирования всех.
Кроме этого у нас имеется Google-календарь, на котором также имеются бронирования, как многодневные, так и часовые.
Для начала нам нужно открыть доступ для Bukza к нашему календарю. Для этого нужно перейти в настройки календаря. Затем открыть вкладку “Открыть общий доступ к этому календарю” и добавить нового пользователя с адресом google-calendar@bukza-service.iam.gserviceaccount.com и возможностью вносить изменения. После этого нужно нажать кнопку “Сохранить”.
Затем давайте снова откроем настройки нашего календаря и на первой вкладке с данными о календаре скопируем его идентификатор, чтобы связать его с нашим ресурсом.
Теперь откроем базовые настройки нашего ресурса и перейдем к редактированию основных настроек. Здесь мы видим кнопку “ДОБАВИТЬ GOOGLE КАЛЕНДАРЬ”. Нажмем на нее и в появившуюся форму вставим скопированный ранее идентификатор календаря Google.
Ниже мы видим две опции для экспорта и импорта бронирований.
Первый флаг нужно выставить, чтобы все наши бронирования в Bukza отправлялись в Google календарь и синхронизировались с ним при их изменениях в интерфейсе Bukza. Такие бронирования нельзя трогать в календаре Google и управлять ими можно, только из Bukza.
Второй флаг требуется выставить, если мы хотим, чтобы события в календаре Google блокировали время нашего ресурса в Bukza. При этом будет происходить автоматическая синхронизация с календарем Google через определенные интервалы времени и в обязательном порядке при каждом бронировании в Bukza, чтобы исключить случаи перебронирования. Стоит отметить, что все внутренние бронирования, которые Bukza сама создала в Google календаре, помечены в нем особым образом, и они импортироваться и задваиваться не будут. Также стоит понимать, что импортируемые бронирования не появятся в списке бронирований в Bukza, а лишь только займут время на календаре и управлять ими можно только из Google календаря или же из систем, которые там их создали.
Теперь давайте выставим оба флага и сохраним эти настройки. При этом сразу произойдет полная синхронизация наших бронирований и событий в календаре Google.
Как мы видим все события из Google календаря и вправду заняли время на виджете. И наоборот бронирования из Bukza теперь стали видны на календаре Google. Здесь мы можем заметить, что количество занятых участников помечается в заголовке нашего события в виде числа в квадратных скобках. Если же такой пометки в заголовке не имеется, то считается, что занят весь ресурс, то есть в нашем случае - все 4 квадроцикла.
Теперь давайте сымитируем критическую ситуацию, когда происходит одновременное бронирование на Google календаре и в Bukza. И попробуем забронировать. При этом система производит предварительную синхронизацию и не дает нам забронировать.
Что же, давайте выберем другое время и забронируем. И теперь мы можем убедиться, что бронирование успешно завершено и на Google календаре оно сразу же отобразилось.
Также при необходимости вы можете настроить импорт и экспорт из нескольких календарей одновременно, просто добавив еще один календарь в настройках ресурса.
Ну вот и все. Теперь мы научились синхронизировать наш виджет c Google календарями и сможем использовать их для синхронизации с внешними системами и агрегаторами, если они поддерживают импорт в Google календарь.
Всем спасибо!