= Контроль оплаты =
Контроль доступа - механизм управления оплатой парковки, реализованный в виде редактируемого последовательного списка правил.
Правила состоят из установленного набора критериев, на основании которых разрешается (или запрещается) доступ к оплате и предложения по оплате/покупке тарифа.
Список критериев:
* Идентификатор, предъявляемый клиентом
* Справочник идентификаторов. В случае, если этот критерий задан, то проверяется принадлежность предъявленного пользователем идентификатора данному справочнику.
* Терминал оплаты - терминал, с которым работает клиент
* АРМ, касса, через которую оплачивает клиент
* Тариф, который пытается оплатить клиент
* Действителен до - время, до которого действует правило
В момент попытки оплаты через паркомат или АРМ происходит поочередное(сверху-вниз) сравнивание с критериями каждого правила в списке.[[BR]]
Если сложившиеся на момент проезда условия удовлетворяют КАЖДОМУ критерию* очередного правила, то выносится вердикт на разрешение(или запрет) оплаты по данному тарифу. Нижележащие правила игнорируются. [[BR]]
Если ни одного подходящего правила в списке не оказалось, то вердикт выносится на основании "политики по умолчанию".
*Отсутствие критерия в правиле(пустое поле) указывает на любое его возможное значение, то есть удовлетворяет любым сложившимся условиям оплаты.
== Настройка политики по-умолчанию ==
Настройка политики по умолчанию производится в конфигурационном файле программы
Пример части конфигурационного файла
{{{
...
(по умолчанию оплата запрещена)
...
...
(по умолчанию оплата разрешена)
...
}}}
== Редактирование данных ==
Редактирование текущего списка правил происходит в меню '''Правила оплаты''' управляющего ПО. [[BR]]
Доступны операции удаления, редактирования и смены очередности в списке для каждого правила.[[BR]]
По нажатию кнопки "Добавить запись" возможно добавление нового правила в конец списка. [[BR]]
В форме добавления правила устанавливаются его критерии и вердикт. [[BR]]
Вердикт устанавливается в обязательном порядке, критерии правила могут быть проигнорированы.[[BR]]
Отсутствие критерия в правиле указывает на любое его возможное значение, то есть удовлетворяет любым сложившимся условиям оплаты.
== Импорт данных ==
По нажатию кнопки "Импорт" возможен импорт новых правил доступа из XML файла.
В форме импорта устанавливается "Тип загрузки" и выбирается сам файл.
Тип загрузки может принимать значения:
* Перезапись (Текущий список правил доступа удаляется, на его место записываются правила из файла)
* Добавление в начало (Происходит добавление правил доступа из файла в начало текущего списка правил)
* Добавление в конец (Происходит добавление правил доступа из файла в конец текущего списка правил)
Пример файла импорта:
{{{
}}}
Параметры:
* /root/item/@pass_id - строка - идентификатор пропуска
* /root/item/@terminal_id - число - идентификатор паркомата
* /root/item/@workstation_id - число - идентификатор АРМ
* /root/item/@wtariff_id - число - идентификатор тарифа
* /root/item/@end_time - число - время, до которого действует правило
* /root/item/@verdict - символ t / accept (разрешить) или f / deny (запретить) - вердикт
Если параметр не указан, то в импортированном правиле доступа поле, соответствующее этому параметру, будет пустым (отсутствие критерия).