Интеграция с ресторанной системой iiko (new)
Общее описание
В сравнении с предыдущим вариантом интеграции с системой iiko - обновленная версия позволяет пользователю за терминалом ресторанной системы осуществить закрытие заказа используя номер комнаты/апартамента гостя, что упрощает процедуру переноса задолженности.
Требования
- Минимальная версия iiko 8.7.6 так как плагин использует Front API V8
- Наличие лицензии api payment (21016318)
- Запуск iikoF ront от администратора
- При раскатке на точку с несколькими официантскими станциями/ведомыми терминалами плагин устанавливается на все терминалы.
Настройка плагина
Необходимо скачать плагин (плагин предоставлется службой технической поддержки по предварительному запросу через электронную почту 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
}
]
}
Пример:
Создание типа оплаты 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.
Работа с блюдами со схемой модификаторов и услугами с тарификацией не поддерживается.
No Comments