Контроль оплаты
Контроль доступа - механизм управления оплатой парковки, реализованный в виде редактируемого последовательного списка правил. Правила состоят из установленного набора критериев, на основании которых разрешается (или запрещается) доступ к оплате и предложения по оплате/покупке тарифа.
Список критериев:
- Идентификатор, предъявляемый клиентом
- Справочник идентификаторов. В случае, если этот критерий задан, то проверяется принадлежность предъявленного пользователем идентификатора данному справочнику.
- Терминал оплаты - терминал, с которым работает клиент
- АРМ, касса, через которую оплачивает клиент
- Тариф, который пытается оплатить клиент
- Действителен до - время, до которого действует правило
В момент попытки оплаты через паркомат или АРМ происходит поочередное(сверху-вниз) сравнивание с критериями каждого правила в списке.
Если сложившиеся на момент проезда условия удовлетворяют КАЖДОМУ критерию* очередного правила, то выносится вердикт на разрешение(или запрет) оплаты по данному тарифу. Нижележащие правила игнорируются.
Если ни одного подходящего правила в списке не оказалось, то вердикт выносится на основании "политики по умолчанию".
*Отсутствие критерия в правиле(пустое поле) указывает на любое его возможное значение, то есть удовлетворяет любым сложившимся условиям оплаты.
Настройка политики по-умолчанию
Настройка политики по умолчанию производится в конфигурационном файле программы
Пример части конфигурационного файла
... <acl payment_acl_policy="deny"/> (по умолчанию оплата запрещена) ... ... <acl payment_acl_policy="accept"/> (по умолчанию оплата разрешена) ...
Редактирование данных
Редактирование текущего списка правил происходит в меню Правила оплаты управляющего ПО.
Доступны операции удаления, редактирования и смены очередности в списке для каждого правила.
По нажатию кнопки "Добавить запись" возможно добавление нового правила в конец списка.
В форме добавления правила устанавливаются его критерии и вердикт.
Вердикт устанавливается в обязательном порядке, критерии правила могут быть проигнорированы.
Отсутствие критерия в правиле указывает на любое его возможное значение, то есть удовлетворяет любым сложившимся условиям оплаты.
Импорт данных
По нажатию кнопки "Импорт" возможен импорт новых правил доступа из XML файла. В форме импорта устанавливается "Тип загрузки" и выбирается сам файл. Тип загрузки может принимать значения:
- Перезапись (Текущий список правил доступа удаляется, на его место записываются правила из файла)
- Добавление в начало (Происходит добавление правил доступа из файла в начало текущего списка правил)
- Добавление в конец (Происходит добавление правил доступа из файла в конец текущего списка правил)
Пример файла импорта:
<xml version="1.0" encoding="utf-8"?> <root> <item pass_id="65749734" terminal_id="15" end_time="1430784000" verdict="deny"/> <item pass_id="78878885" workstation_id="12" verdict="accept"/> <item end_time="1430789000" verdict="deny"/> </root>
Параметры:
- /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 (запретить) - вердикт
Если параметр не указан, то в импортированном правиле доступа поле, соответствующее этому параметру, будет пустым (отсутствие критерия).