Уважаемые пользователи! Если не нашли ответ на свой вопрос в базе знаний, пожалуйста, напишите нам на почту support@ecvi.ru
Skip to main content

iiko

Общее описание

Тут общее описание стыковки

Требования

Минимальная версия iiko 8.7.6 так как плагин использует Front API V8
Наличие лицензии api payment (21016318) 
Запуск iikoF ront от администратора
При раскатке на точку с несколькими официантскими станциями/ведомыми
терминалами плагин устанавливается на все терминалы.

Настройка плагина

Необходимо скачать плагин, разблокировать файлы и разархивировать
папку с плагином в папку с плагинами iikoFront, располагающуюся по пути  
C:\Program Files\iiko\iikoRMS\Front.Net\Plugins

Лог плагина plugin-Get.Front.Ecvi.log хранится по пути:

C:\Users\User\AppData\Roaming\iiko\CashServer\Logs.

Параметры конфигурационного файла Get.Front.Ecvi.dll.config (хранится по пути C:\Program Files\iiko\iikoRMS\Front.Net\Plugins\Get.Front.Ecvi):

"BaseUrl" - Адрес сервиса, куда направляются запросы (без слеша на конце);
"HotelToken" - токен отеля на сервере ECVI;
"EnableSearchByGuestCard" - параметр, отвечающий за возможность поиска гостя по номеру карты. При указании в поле значения "True", в меню выбора способа чекина гостя будут выведены две кнопки для поиска гостя по номеру комнаты и по номеру карты.
"IncreaseProductName" - наименование надбавки, которая отправляется в ECVI

Пример отправки в api IncreaseProductName = "Надбавка"
{
   "OrderID": "35950",
   "DepartCode": "RS",
   "InvoiceDate": "2024-10-14 15:06:56",
   "ServiceDate": "2024-10-14 15:06:56",
   "Count": "1",
   "Discount": 0,
   "Amount": 44.00,
   "Price": 44.00,
   "AmountWithoutDiscount": 44.00,
   "Comments": "1",
   "NDS": "0",
   "NdsAmount": "0",
   "Items": [
    {
       "Name": "Сахар10",
       "Amount": 1,
       "Price": 10.00,
       "DiscountPrice": 0,
       "Total": 10.00,
       "Tax": null,
       "Comment": null
    },
    {
       "Name": "Сахар15",
       "Amount": 2,
       "Price": 15.00,
       "DiscountPrice": 0,
       "Total": 30.00,
       "Tax": null,
       "Comment": null
    },
    {
       "Name": "Надбавка",
       "Amount": 1,
       "Price": 4.00,
       "DiscountPrice": 0,
       "Total": 4.00,
       "Tax": null,
       "Comment": null
    }
  ]
}

Пример:

<userSettings>
<Get.Front.Ecvi.Properties.Settings>

Создание <settingтипа name=оплаты ECVI

После настройки конфигурационного файла плагина необходимо запустить iikoF ront с правами администратора для регистрации плагином нового типа оплаты. После запуска iikoF ront необходимо авторизоваться в iik oOffice и создать новый тип оплаты, который будет использоваться для списания в заказах.

Настройка типа оплаты (обязательные поля выделены желтым):

image.png

Функциональное описание

Функциональная схема реализации

image.png

Функциональное описание реализации

Плагин стартует вместе с запуском IIKOFront. При успешном старте плагина на iikoFront отобразится сообщение "BaseUrl"Плагин serializeAs=успешно запущен"String">.

<value>https://demo2.ecvi.ru/iikoapi</value>
</setting>Сообщение <settingпри name="HotelToken"успешном serializeAs="String">запуске <value>k6K5Acz1Ib-vxT5j0-FaEZWwoqicyLpn</value>плагина </setting>

image.png

<setting
name=

В случае ошибки настроек плагина, будет выведено соответствующее уведомление.

Сообщение при неуспешном запуске плагина

image.png

Для добавления гостя в заказ необходимо воспользоваться функциональной кнопкой на экране редактирования заказа:

image.png

Нажатие на функциональную клавишу, вызывает WPF-форму для выбора дейсвия с заказом. Если в заказ не привязан  конкретный гость, будет выведена кнопка чекина, иначе - кнопка отвязки гостя из заказа.

image.png

При чекине гостя, в зависимости от параметра "EnableSearchByGuestCard" serializeAs=в конфигурационном файле плагина, далее необходимо выбрать способ поиска гостя: по номеру карты или комнаты.

image.png

При поиске по номеру комнаты необходимо вручную ввести номер комнаты гостя и далее, если гость проживает один, он автоматически будет добавлен в заказ. Если в комнате проживает несколько людей, они будут выведены на экран для дальнейшего выбора.

image.png

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

image.png

Результат поиска гостя будет выведен кассиру в виде сообщения:

Гость не найден

image.png

Гость добавлен в заказ и у него положительный баланс

image.png

Гость добавлен, но у него отрицательный баланс

image.png

Отсутствует интернет-соединение или сервер не отвечает

image.png

Закрытие заказа в системе IIKO происходит нативными механиками работы с IIKOFront в блоке кассы. При переходе в блок кассы заказ проверяется на наличие в нем гостя Ecvi, а далее - на доступность закрытия заказа с помощью баланса гостя. В случае, если баланс гостя позволяет полностью покрыть итоговую сумму заказа, в заказ автоматически будет добавлен платеж на полную сумму заказа с тем типом, который был зарегистрирован при настройке плагина. 

image.png

Если баланс гостя отрицателен или суммы недостаточно для оплаты, кассир будет уведомлен об этом сообщением:

image.png

При закрытии заказа с типом оплаты, добавленным плагином, в сервер Ecvi будет отправлен запрос, содержащий основные данные по заказу.

Модель запроса:

{
 "String">OrderID": <value>True</value>"35954", </setting>- <settingOrderID, name=полученный при чекине гостя
 "IncreaseProductName"DepartCode": serializeAs="String">Демо", <value>- Название группы, в которой зарегистрирован
терминал, из iikoOffice
 "InvoiceDate": "2024-09-12 14:15:30", - дата и время закрытия заказа
 "ServiceDate": "2024-09-12 14:15:30", - дата и время закрытия заказа
 "Count": "1", - всегда "1"
 "Discount": 0.5, - доля суммы скидки по каждому блюду в заказе к общей
сумме заказа. Если в заказе результирующей является надбавка</value>, </setting>в </Get.Front.Ecvi.Properties.Settings>поле
передается </userSettings>
"0".
 

"Amount": 12.00, - итоговая сумма заказа. Если в заказе результирующей
является надбавка, в поле передается итоговая сумма заказа.
 "Price": 12.00, - - итоговая сумма заказа. Если в заказе
результирующей является надбавка, в поле передается итоговая сумма
заказа.
 "AmountWithoutDiscount": 24.00, - сумма заказа без учета скидок. Если
в заказе результирующей является надбавка, в поле передается итоговая
сумма заказа.
 "Comments": "1", - всегда "1"
 "NDS": "0", - всегда "0"
 "NdsAmount": "0", - всегда "0"
 "Items": [
  {
     "Name": "Блюдо 1", - название блюда из iikoOffice
     "Amount": 1, - количество позиции в заказе(может быть нецелым
числом)
     "Price": 42.0000, - цена блюда из iikо Если в заказе
результирующей является надбавка, в поле передается итоговая цена за
единицу позиции с учетом надбавки.
     "DiscountPrice": 30.0000, - сумма скидки на позицию(с учетом
количества) Если в заказе результирующей является надбавка, в поле
передается "0".
     "Total": 12.00, - итоговая сумма по позиции
     "Tax": {
       "Name": "20%", - наименование налоговой ставки из iikoOffice
       "Percent": "20", - процент налоговой ставки из iikoOffice
       "Calculated": "False" - признак рассчетности
    },
     "Comment": null - комментарий к позиции
  }
]
}

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

image.png

Работа с блюдами со схемой модификаторов и услугами с тарификацией не поддерживается.