Сервер 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"] } }
      ]
    }
  },
  { "$limit": 1 },
  {
    "$addFields": {
      "message": "Конфликт с другим бронированием"
     }
   }
 ]