Интеграция с ресторанной системой iiko Общее описание Интеграция позволяет пользователю за терминалом ресторанной системы осуществить закрытие заказа используя номер комнаты/апартамента гостя, что упрощает процедуру переноса задолженности. Требования Минимальная версия iiko 8.7.6 так как плагин использует Front API V8 Наличие лицензии api payment (21016318) Запуск iikoFront от администратора При раскатке на точку с несколькими официантскими станциями/ведомыми терминалами плагин устанавливается на все терминалы. Настройка плагина Необходимо скачать плагин (плагин предоставлется службой технической поддержки по предварительному запросу через электронную почту support@ecvi.ru), разблокировать файлы и разархивироватьпапку с плагином в папку с плагинами 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   } ] } Пример:                                     https://demo2.ecvi.ru/iikoapi                                        k6K5Acz1Ib-vxT5j0-FaEZWwoqicyLpn                                        True                                         Надбавка                        Создание типа оплаты ECVI После настройки конфигурационного файла плагина необходимо запустить iikoF ront с правами администратора для регистрации плагином нового типа оплаты. После запуска iikoF ront необходимо авторизоваться в iik oOffice и создать новый тип оплаты, который будет использоваться для списания в заказах. Настройка типа оплаты (обязательные поля выделены желтым): Шаблон пречека В шаблоне пречека должны присутствовать строки:
@Model.CommonInfo.CafeSetup.BillFooter
Если используется стандартный шаблон, эти строки присутствуют по умолчанию. В случае с кастомным шаблоном необходимо вручную добавить их в блок Footer, пример: @* Footer (begin) *@
  @Model.CommonInfo.CafeSetup.BillFooter
@* Footer (end) *@ Функциональное описание Функциональная схема реализации Функциональное описание реализации Плагин стартует вместе с запуском IIKOFront. При успешном старте плагина на iikoFront отобразится сообщение "Плагин успешно запущен". Сообщение при успешном запуске плагина В случае ошибки настроек плагина, будет выведено соответствующее уведомление. Сообщение при неуспешном запуске плагина Для добавления гостя в заказ необходимо воспользоваться функциональной кнопкой на экране редактирования заказа: Нажатие на функциональную клавишу, вызывает WPF-форму для выбора дейсвия с заказом. Если в заказ не привязан  конкретный гость, будет выведена кнопка чекина, иначе - кнопка отвязки гостя из заказа. При чекине гостя, в зависимости от параметра "EnableSearchByGuestCard" в конфигурационном файле плагина, далее необходимо выбрать способ поиска гостя: по номеру карты или комнаты. При поиске по номеру комнаты необходимо вручную ввести номер комнаты гостя и далее, если гость проживает один, он автоматически будет добавлен в заказ. Если в комнате проживает несколько людей, они будут выведены на экран для дальнейшего выбора. При выборе поиска по номеру карты открывается окно ввода или сканирования карты гостя. Сканирование карты возможно только с помощью картридера. Результат поиска гостя будет выведен кассиру в виде сообщения: Гость не найден Гость добавлен в заказ и у него положительный баланс Гость добавлен, но у него отрицательный баланс Отсутствует интернет-соединение или сервер не отвечает Закрытие заказа в системе IIKO происходит нативными механиками работы с IIKOFront в блоке кассы. При переходе в блок кассы заказ проверяется на наличие в нем гостя Ecvi, а далее - на доступность закрытия заказа с помощью баланса гостя. В случае, если баланс гостя позволяет полностью покрыть итоговую сумму заказа, в заказ автоматически будет добавлен платеж на полную сумму заказа с тем типом, который был зарегистрирован при настройке плагина. Если баланс гостя отрицателен или суммы недостаточно для оплаты, кассир будет уведомлен об этом сообщением: При закрытии заказа с типом оплаты, добавленным плагином, в сервер Ecvi будет отправлен запрос, содержащий основные данные по заказу. Модель запроса: { "OrderID": "35954", - OrderID, полученный при чекине гостя "DepartCode": "Демо", - Название группы, в которой зарегистрировантерминал, из iikoOffice "InvoiceDate": "2024-09-12 14:15:30", - дата и время закрытия заказа "ServiceDate": "2024-09-12 14:15:30", - дата и время закрытия заказа "Count": "1", - всегда "1" "Discount": 0.5, - доля суммы скидки по каждому блюду в заказе к общейсумме заказа. Если в заказе результирующей является надбавка, в полепередается "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. Работа с блюдами со схемой модификаторов и услугами с тарификацией не поддерживаетсяПри передаче надбавки ее сумма формируется относительно результирующей суммы надбавок в заказе Если в заказе есть гость Ecvi, при печати пречека на нем будет выведена информация о госте: номер комнаты, имя гостя и место для подписи. Печать информации о госте не зависит от баланса гостя.