Сервер BOOCO Meteor (v 1.x) / Примеры правил бронирования

Настройка правил бронирования

Примеры правил бронирования

Проверка на наличие конфликта с другим бронированием того же ресурса

Проверка наличия у пользователя бронирований других ресурсов

Проверка на бронирование ресурса другим пользователем

Проверка на частоту бронирования ресурса

Ограничение на создание нескольких бронирований подряд

Ограничение на количество бронирований в день

Загрузка файла resource-rules-default.json на сервер BOOCO

Описание

Правило не позволяет забронировать ресурс, если он уже забронировано другим пользователем.

Принцип работы

Система выполняет поиск всех бронирований ресурса, которые пересекаются по времени с новым бронированием. Если система находит такие бронирования, то отображается сообщение о конфликте с указанием имени пользователя, который забронировал данный ресурс.

Пример использования

[
 {
   "$match": {
     "$and": [
       { "removed": { "$ne": true } },
       { "$expr": { "$ne": [ "$_id", "$newEvent._id"] } },
       { "$expr": { "$eq": [ "$venueId", "$newEvent.venueId"] } },
       { "$expr": { "$lt": [ "$start", "$newEvent.end"] } },
       { "$expr": { "$gt": [ "$end", "$newEvent.start"] } }
       ]
      }
    },
    {
      "$addFields": {
        "message": { "$concat": ["Забронировано другим пользователем: ",
"$organizerName"] }
    }
  }
]