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

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

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

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

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

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

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

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

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

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

Описание

По умолчанию в системе существует ограничение на бронирование капсулы сна более 5 раз в день. При необходимости значение, используемое по умолчанию, можно изменить.

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

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

[
  {
    "$addFields": {
      "dayEnd": { "$toDate": { "$concat": [{ "$substr": ["$newEvent.start",
0, 11] }, "21:00:00", { "$substr": ["$newEvent.start", 19, 6] }] } }
    }
  },
{
   "$addFields": {
     "dayStart": { "$add": ["$dayEnd", -86400000] },
     "end1": { "$toDate": "$end" },
     "start1": { "$toDate": "$start" }
   }
 },
 {
    "$match": {
      "$and": [
        { "venueType": "nappod" },
        { "$expr": { "$eq": ["$organizer", "$newEvent.organizer"] } },
        { "$expr": { "$lt": ["$start1", "$dayEnd"] } },
        { "$expr": { "$gt": ["$end1", "$dayStart"] } }
      ]
    }
 },
 {
   "$count": "myCount"
  },
{
   "$match": { "myCount": { "$gte": 5 } }
},
{
   "$addFields": {
     "message": { "$concat":["Достигнут лимит бронирования капсул сна на данный день - ", { "$toString": "$myCount" }] }
  }
}
]