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
}
]
}
Пример:
Создание типа оплаты ECVI
После настройки конфигурационного файла плагина необходимо запустить iikoF ront с правами администратора для регистрации плагином нового типа оплаты. После запуска iikoF ront необходимо авторизоваться в iik oOffice и создать новый тип оплаты, который будет использоваться для списания в заказах.
Настройка типа оплаты (обязательные поля выделены желтым):
Функциональное описание
Функциональная схема реализации
Функциональное описание реализации
Плагин стартует вместе с запуском 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.
Работа с блюдами со схемой модификаторов и услугами с тарификацией не поддерживается.