В процессе работы с бронями происходят следующие проверки на возможные конфликты:
1.в момент размещения брони (после выбора коек) проверяется, что нет броней, у которых дата начала меньше планируемой даты окончания текущей брони, а дата окончания больше даты заезда;
2.в момент размещения брони проверяется, что бронь не будет потенциально конфликтной, то есть что нет броней, расположенных позже нее, но не вызывающих конфликта по датам;
3.в момент выписки проверяется, что что нет броней, у которых дата начала меньше даты выписки текущей брони, а дата окончания больше даты начала текущей брони;
4.при выборе свободной койки она проверяется на наличие конфликтующих броней: если существуют конфликтные брони этой койки, новая бронь также будет считаться конфликтной.
При проверках учитываются предварительные, действующие, подтвержденные и завершенные брони. Возможность создания конфликтной брони определяется соответствующим правом доступа пользователя.
При возникновении конфликта выдается предупреждение "Бронь вступает в конфликт с другой бронью". Кнопка Продолжить открывает окно с информацией о существующих бронях, с которыми конфликтует текущая (рис. 5.12). Чтобы отменить сделанные изменения в брони, нужно нажать кнопку Отменить.
В окне со списком конфликтующих броней (рис. 5.12) можно выполнить стандартные операции с бронью (редактировать, удалить). Если пользователь имеет право на создание конфликтующих броней, в окне имеется кнопка Продолжить, которая сохраняет изменения в текущей брони. Если же пользователь не имеет такого права, доступна только кнопка Отменить и для создания размещения / выписки пользователь должен устранить конфликт.
Рисунок 5.12. Конфликтующие брони