Я пытаюсь решить проблему предотвращения двойного бронирования с помощью Google Calendar Api (v3) .Я использую ресурсы Google в среде GSuite.Заказы производятся с централизованной платформы от имени нескольких пользователей и применяются к нескольким комнатам (ресурсам).Ответственное приложение аутентифицируется с использованием Сервисной учетной записи.Все календари ресурсов настроены на прием только тех приглашений, которые не конфликтуют.
До сих пор я обнаружил, что существует как минимум два способа бронирования ресурса:
- Создание событияв календаре ресурсов
- Создание события в личном календаре и добавление ресурса в качестве участника
Я обнаружил, что в первом сенарио события можно добавлять в календарь ресурсов,даже если они вызывают конфликт.В ответе API нет ошибки, событие только добавлено.
Я протестировал второй сценарий с помощью своего личного календаря и обнаружил, что комната должна ответить на приглашение на событие.Очевидно, что этот процесс может занять несколько минут, прежде чем комната откликнется.
Я создаю API, который должен реагировать как можно быстрее, но я хочу, чтобы оно создавало событие только в том случае, если оно не конфликтует.Конечно, я могу использовать информацию о занятости, чтобы уменьшить вероятность возникновения конфликтов, но я бы хотел полностью исключить эту возможность.
Кто-нибудь знает, предоставляет ли Google функциональность для решения этой проблемы из коробки?
Заранее спасибо.