Параметры настройки плагина iiko¶
Все настройки лежат в файле Broni.Front.Plugin.dll.config рядом с
Broni.Front.Plugin.dll.
Изменения применяются после перезапуска iikoFront
Плагин читает файл один раз при старте.
При обычной установке заполняются только backendBaseUrl и posToken —
остальное трогать не нужно.
Подключение к Брони¶
| Параметр | По умолчанию | Описание |
|---|---|---|
backendBaseUrl |
(пусто) | Адрес сервера Брони, обычно https://broni.io. Без него не работают синхронизация зеркала и отправка счетов. |
posToken |
(пусто) | Токен площадки из личного кабинета партнёра. Уникален для ресторана, приравнивается к паролю. |
Скидка¶
| Параметр | По умолчанию | Описание |
|---|---|---|
discountTypeName |
Скидка Брони |
Название типа скидки в iikoOffice. Должно совпадать посимвольно. |
applyMode |
flexibleSum |
Способ применения: flexibleSum — фиксированная сумма в рублях (рекомендуется), percent — процент от счёта. Должен соответствовать типу скидки в iikoOffice. |
dryRun |
true |
true — плагин рассчитывает скидку и пишет в журнал, но не применяет её. Режим для проверки на новой площадке. В работе — false. |
resolverMode |
mirror |
Откуда берутся условия скидки: mirror — из локального зеркала, работает без интернета (рекомендуется); backend — запрос в Брони при каждом расчёте счёта, при обрыве связи скидки не будет. |
Офлайн-зеркало броней¶
Плагин заранее скачивает будущие брони с условиями скидок и хранит их на кассе, поэтому расчёт счёта не зависит от связи. Значения по умолчанию подходят подавляющему большинству ресторанов.
| Параметр | По умолчанию | Описание |
|---|---|---|
mirror.syncIntervalSeconds |
60 |
Как часто подтягивать новые и изменённые брони, в секундах. |
mirror.fullResyncHours |
6 |
Как часто полностью пересобирать зеркало. Страховка от пропущенных изменений. 0 — выключить. |
mirror.storeDir |
(пусто) | Каталог хранения. Пусто — %APPDATA%\Broni.Front.Plugin\reservations. |
mirror.pageSize |
500 |
Размер страницы при загрузке. Менять не требуется. |
mirror.backendFallback |
true |
Если брони нет в зеркале (например, её создали минуту назад) — попробовать запросить условия у Брони онлайн. |
mirror.maxStalenessMinutes |
0 |
Через сколько минут без синхронизации перестать применять скидки. 0 — применять всегда (рекомендуется): собственный интервал действия есть у каждой брони. |
mirror.windowGraceMinutes |
30 |
Допуск на расхождение часов кассы, в минутах: на столько расширяется интервал действия брони. |
mirror.retentionDays |
7 |
Сколько дней хранить прошедшие брони перед удалением. |
Отправка закрытых счетов¶
По закрытым счетам заказов, пришедших по броням, начисляется комиссия. Счета складываются в очередь на диске и повторяются до подтверждения, поэтому обрыв связи данные не теряет.
| Параметр | По умолчанию | Описание |
|---|---|---|
checkPush.enabled |
true |
Отправлять закрытые оплаченные счета в Брони. Выключать не следует: без этого не считается комиссия. |
checkPush.spoolDir |
(пусто) | Каталог очереди. Пусто — %APPDATA%\Broni.Front.Plugin\checks. |
checkPush.retryIntervalSeconds |
60 |
Интервал повторной отправки неотправленных счетов, в секундах. |
checkPush.sweepIntervalSeconds |
300 |
Интервал фоновой самопроверки: поиск счетов, пропущенных, пока плагин не работал. |
Журналы и диагностика¶
| Параметр | По умолчанию | Описание |
|---|---|---|
logLevel |
Info |
Подробность журнала: Error, Warn, Info, Debug. Для разбора проблемы временно поставьте Debug. |
apiVersion |
V9 |
Версия интерфейса front.api. Менять только по указанию поддержки Брони. |
sentry.dsn |
(заполнен) | Адрес приёмника ошибок Брони. Плагин отправляет туда только собственные ошибки — данные гостей и содержимое счетов не передаются. Пустое значение полностью отключает отправку. |
sentry.environment |
production |
Метка окружения в отчётах об ошибках. На тестовой площадке укажите stand, чтобы не смешивать с рабочими. |
Полный шаблон файла¶
Ниже — актуальный набор параметров ровно в том виде, в каком его читает плагин версии 0.1.0. Файл сформирован из исходного кода при сборке этой страницы.
<?xml version="1.0" encoding="utf-8"?>
<!--
Broni.Front.Plugin 0.0.0-dev — шаблон настроек для площадки.
Файл кладётся рядом с Broni.Front.Plugin.dll.
Любое изменение вступает в силу только после перезапуска iikoFront.
-->
<configuration>
<appSettings>
<add key="resolverMode" value="mirror" />
<add key="backendBaseUrl" value="" />
<add key="posToken" value="" />
<add key="discountTypeName" value="Скидка Брони" />
<add key="applyMode" value="flexibleSum" />
<add key="dryRun" value="true" />
<add key="apiVersion" value="V9" />
<add key="logLevel" value="Info" />
<add key="sentry.dsn" value="https://6c89b258af6649068b3d4e5cca3e533e@glitchtip.dev.broni.io/4" />
<add key="sentry.environment" value="production" />
<add key="checkPush.enabled" value="true" />
<add key="checkPush.spoolDir" value="" />
<add key="checkPush.retryIntervalSeconds" value="60" />
<add key="checkPush.sweepIntervalSeconds" value="300" />
<add key="mirror.syncIntervalSeconds" value="60" />
<add key="mirror.storeDir" value="" />
<add key="mirror.pageSize" value="500" />
<add key="mirror.backendFallback" value="true" />
<add key="mirror.maxStalenessMinutes" value="0" />
<add key="mirror.windowGraceMinutes" value="30" />
<add key="mirror.retentionDays" value="7" />
<add key="mirror.fullResyncHours" value="6" />
</appSettings>
</configuration>