KirillHome ➤ 1. Терминал виден в списке «терминалов доставки», если
Терминал является главной кассой
К терминалу привязан фискальный регистратор
Терминал привязан к данному серверу
2. Перемещение между складами в рамках одного сервера (одного предприятия) осуществляется с помощью:
Документа о внутреннем перемещении
Расходной накладной
Акта реализации
3. У вас есть двухэтажный ресторан, на первом этаже зал и веранда, на втором — бар и кухня.
Какие элементы вы будете использовать, чтобы в структуре преприятия отразить бар, кухню, зал и веранду?
Группы
Отделения
Места приготовления
Места продаж
4. Возможно ли на один терминал доставки назначать различную стоимость за доставку и продолжительность доставки в зависимости от времени?
да
нет
5. Выберите, в каком случае приходная накладная сформируется в системе автоматически?
После проведения закупки через iikoWeb
После внутреннего перемещения товара из другого подразделения
Инструкция iiko фронт
После проведения инвентаризации через iikoWeb
6. Заведение гостя для бонусно-депозитной системы Card возможно на стороне:
iikoBiz
iikoFront
iikoO ce
7 Как определяется время создания приходной накладной по умолчанию?
Врем создания задаётся в настройках ТП > настройках учёта. По умолчанию — 9 утра
Врем создания по умолчанию определяется по последней приходной накладной
Врем создания по умоланию фиксировано и не может быть изменено — 23:00
8.Может ли на одну позицию действовать несколько приказов по времени в течение дня?
Нет, возможен один приказ по времени на одну позицию в течение дня
Может, при условии,что приказ по времени не пересекается с базовым
Может, без ограничений
9. Где стоит расположить колл-центр, если у вас несколько ресторанов в составе сети Chain?
Колл-центр можно использовать в интерфейсе iikoChain, разворачивание отдельного сервера излишне
Рекомендуется совместить колл-центр c одним из RMS
На отдельном сервере
10.У кого по умолчанию без дополнительных настроек есть право и запустить инвентаризацию, и провести документ после?
У менеджера
У исполнителя — бармена или официанта
И у менеджера, и у исполнителя
11. Акты реализации не проводятся автоматически. В чем может быть причина?
Не установлена настройка «Разрешать проводить акты реализации, приводящие к отрицательным остаткам»
При продаже складские запасы ушли в минус
Не закрыта кассовая смена
12. Можно ли добавить улицу, если город уже синхронизирован с КЛАДР?
да
нет
13. Вы создаете нового сотрудника с ролью «Менеджер» в iikoWeb и хотите поменять тип оплаты с «Почасовая» на «Оклад». Как вы можете это сделать?
Роль менеджера не подразумевает тип оплаты «Оклад»
Тип оплаты можно изменить в iikoWeb
1.1. Создание меню в iiko: как добавить товар
Тип оплаты можно изменить в iikoO ce
14. Каковы возможные причины образования отрицательных остатков на складах?
Ошибки заполнения Технологических карт
Неправильная настройка Типов мест приготовления блюд
Неверно указан склад в приходной накладной
15. iiko позволяет работать с отрицательными остатками. Можно ли эту возможность убрать?
Нельзя, это существенное преимущество в сравнении с системами на FIFO
Можно,в настройках ТП
16. Себестоимость в технологической карте рассчитывается:
Как общая по всем складам
По складу, на котором был зарегистрирован последний приход
17. Каким способом вы можете задать количество товаров в заказе поставщику?
По последнему заказу
Использовать прогноз системы
По настроенному списку товаров
18. Быстрое меню может меняться в зависимости от
Дня недели
Месяца
Типа оплат
Отделения
19. Можно ли в разных отделениях внутри одной группы предлагать разные цены на один товар?
нет, данный функционал реализован только для разных групп
да, приказами об изменении прейскуранта
20. В каком случае вам потребуется использовать акт приготовления?
Когда повар готовит заготовки, которые хочется учитывать на складе не по входящим ингредиентам, а по количеству самих заготовок
Когда ПРК привозит в ресторан готовые полуфабрикаты
Когда блюдо оформляется на доставку
21. Почему нужно указывать вес базовой единицы в килограммах?
Потому что товары на складе хрнаятся в килограммах, а списываются в базовых единицах
Потому что товары на складе хранятся в базовых единицах, а списываются по техкарте в килограммах
22. Вы хотите изменить тип явки «Отпуск» для сотрудников – уменьшить зарплатный коэффициент.
Как это сделать?
Изменить зарплатный коэффициент в iikoWeb > Con guration > Настройки > Учёт трудозатрат
Для типа явки «Отпуск» нельзя уменьшить зарплатный коэффициент, можно только увеличить
Изменить зарплатный коэффициент в iikoO ce > Сотрудники > Типы явок
23. Вы добавили новое блюдо в iikoWeb и создали для него шкалу размеров.
Как эта шкала размеров будет использоваться?
Только для этого конкретного блюда
Эта шкала размеров будет использоваться только для блюд с такой же номенклатурной категорией
Эта шкала размеров может использоваться для любого блюда в меню
24. Как правильно указывать вес ингредиентов в технологической карте?
Вес брутто в килограммах для этого конкретного блюда
Вес нетто в базовой единице для этого конкретного блюда
Вес брутто в базовой единице для этого конкретного блюда
25. Как правильно ввести первоначальные остатки, чтобы считалась себестоимость в iikoOffice, если ресторан начинает работать на iiko?
Остатки вводятся с помощью проведения инвентаризации
Остатки необходимо ввести приходной накладной
26. Блюдо выставлено на продажу по приказу. Как снять его с продажи?
Через приказ
Через карточку блюда
Оба варианта возможны
27. Согласно каким условиям производится автоматическое распределение внешних заказов по точкам?
Привязка терминалов к зонам облуживания
Продолжительности доставки
Графика работы точек
Приоритета
Минимальным суммам, установленным для точек и зон
28. Зачем в структуре предприятия настраивать стол по умолчанию?
Чтобы система смогла оформить заказы «на вынос» на этот стол
Чтобы оформить на этот стол гостя, когда больше нет свободных столов
29. В каком статусе появится новая точка доставки в меню
«Терминалы доставки»?
Удалён
Зарегистрирован
Не зарегистрирован
30. Где в iikoOffice производится регистрация точки доставки?
Настройки оборудования
Доставки
График работы и картография
Терминалы доставки
Настройки торгового предприятия
31. POS сервер для касс для работы систем лояльности устанавливается:
На главную кассу, если у вас хостинг
На сервер RMS, если у вас локальная установка
32. Как объединить справочники гостей доставки и гостей банкетов?
Объединять справочники не требуется, так как это один и тот же справочник
Через соответствующие настройки конфигурационного файла сервера
В iikoO ce в меню Администрирование – Настройки ТП
33. Можно ли ставку оплаты конкретного сотрудника изменить несмотря на ставку должности, к которой он прикреплен?
Нельзя, придется создавать новую должность с новой ставкой
Можно
34. Вы создаете новое расписание для сотрудников в iikoWeb. Для одного из сотрудников расписание содержит больше 40 часов в неделю. Как отреагирует система?
Система не позволит создать такое расписание в соответствии с требованиями трудового законодательства
Система отметить такое расписание красным цветом, но позволит его сохранить
Система никак не предупредит вас об избыточных часах
35. Настройки инвентаризации в iikoWeb позволяют:
Отправлять оповещения о начале инвентаризации ответственным сотрудникам
Отправять ссылку на инвентаризацию ответственным сотрудникам
36. Может ли у зон доставки различаться стоимость доставки и минимальная сумма заказа?
да
нет
37. Какие задачи решает модуль «График работы и картография»?
Гибкое управление графиком работы точек
Назначение курьеров согласно загруженности
Автоматический поиск точки для заказов
Определение местоположения курьера
Привязка точек доставки к картографическим зонам
38. Можно ли автоматически закрывать явки, если сотрудник забыл это сделать?
Можно настроить автоматическое закрытие явки при закрытии кассовой смены
Нет, только вручную
39. Выберите неверное утверждение об использовании фасовок:
Это дополнительные единицы измерения, позволяют, например, принимать поставки в разных видах упаковок
При создании фасовки нужно указать, сколько базовых единиц (например, кг) в ней содержится
Фасовки можно использоватьп при оформлении накладных
Фасовки можно создать только через iikoO ce
40. В кондитерской готовят «Tесто» из ингредиентов, после чего создают акты приготовления и отправляют заказчику. Какой метод списания нужно использовать в полуфабрикате «Тесто»?
Как готовое блюда
По ингредиентам
41. Перемещение между складами, находящихся в разных торговых предприятиях (разные серверы) осуществляется с помощью:
Пары расходная-приходная накладная
Акта реализации
Докумета о внутненнем перемещении
42. Можно ли автоматически перенаправить доставку на другую точку, если текущая точка уже закрыта?
Можно, направление произойдет на ближайшую работающую точку (расстояние замеряется на GoogleMaps)
Нет, переназначение возможно только в ручную
Можно, предварительно нужно настроить время работы точек и приоритеты
43. Возможно ли настроить дежурную точку, которая обрабатывает все доставки в ночное время?
да
нет
44. Вы хотите добавить новое блюдо — кофе — в iikoWeb.
Оно может продаваться с кокосовым, соевым или миндальным молоком. Клиент при заказе выбирает один из вариантов.
Как это настроить в системе?
Создаёте групповой модификатор «Молоко» с модификаторами «Соевое молоко», «Кокосовое молоко», «Миндальное молоко», и добавляете этот групповой модификатор в настройки блюда
Создаёте отдельные модификаторы «Соевое молоко», «Кокосовое молоко», «Миндальное молоко», и добавляетев настройки блюда
45. В вашем ресторане алкоголь и горячие блюда списываются с 2х разных складов. Как это настроить в iiko?
Списание с реальных разных складов не важно, у бара и зала задается только один склад — основной
Создать два склада для бара и для зала (или кухни) и привязать эти склады в настройках отделений
Склад задается один — основной, а разные списания оформляются в карте приготовления
46. Регистрация предприятия в iikoBiz производится в:
iikoO ce
Chain operations
iikoFront
47. Можно ли открыть личную смену на Фронте при закрытой кассовой смене?
Нет, личная смена открывается только в рамках кассовой смены
Можно
48. Если сотрудник забыл отметить картой приход на работу.
Эти данные отредактировать уже не получится
Сотрудник отмечает приход (когда вспомнил об этом) и уход, а затем менеджер редактирует явку в iikoFront
Явку можно отредактировать в iikoO ce, но будет отображена информация о несовпадении явки с данными в iikoFront
49. Авторизация гостя в iikoCard возможна по:
Номеру карты
Номеру телефона
Номеру чека
50. Сколько инвентаризаций в день на одном складе можно провести?
Одна инвентаризация в день на один склад
Несколько инвентаризаций в день на один склад, по количеству списков продуктов
Любое количество инвентаризаций в день
51. Может ли в один промежуток времени действовать несколько приказов по времени?
Нет, в рамках учетного дня возможен только один приказ по времени
Да, на разные товары
52. Можно ли настроить программу лояльности в iikoCard, в которой используются действия без условий?
да
нет
53. В рамках группы несколько терминалов. На какой из них придет доставка из колл-центра?
На любую кассу с фискальным регистратором
На главную кассу
54. Что из перечисленного можно создать в iikoWeb?
Быстрое меню
Технологическая карта
Шкала размеров
Номенклатурная категория
Бухгалтерская категория
55. В каком случае вам потребуется создать акт списания?
Если товар испортился или разбился
Если товар продан и возвращён обратно гостем
Если товар не посчитан во время инвентаризации
Источник: olegon.ru
Подключаемся к внутреннему протоколу iiko
Относительно давно мне пришлось подразобраться во внутреннем протоколе работы сервера айко, т.к данных, даваемых публичным API мне не хватало. Плюс к этому, во времена когда я это делал, «биз» работал не стабильно и периодически падал.
Как я парсил данные?
С помощью burp, если коротко. Я сделал образ в virtualbox с чистой windows, установил туда Админку (iikoOffice), настроил прокси на компьютер, где установлен burp.
И так предположим, вы решили посмотреть, ну например, как получить товары: запустили анализатор; открыли Админку, в левом меню, в разделе «Товары и склады» щелкнули на пункт товары, открыв анализатор, вы увидите примерно следующую картину:
Непонятно! Я, например, ожидал увидеть путь похожий на «/goods/product/list». Более того, пройдясь по всем запросам, скорей всего в их ответах вы не найдёте вообще ничего похожего на список товаров. Но как так? В программе мы их же видим!
Откуда они там берутся?
Давайте разбираться!
На самом деле, ответ прост: «админка» берёт данные из собственной БД! Да,да, каждый клиент имеет собственную БД, в которой хранит практически все данные.
Насколько я понял, только заказы (они же доставки в программе) не хранятся. По крайней мере, их и список терминалов можно получить отдельным запросом.
Но как данные попадают в локальную БД?
Синхронизация
Если посмотреть на список запросов, то можно увидеть:
- Все данные передаются и принимаются в xml.
- Все запросы методом POST.
Также, если присмотреться,то увидите часто встречающийся post-запрос на url: «/services/update?methodName=waitEntitiesUpdate». Если посмотреть, что он возвращает, то опять же, вы вряд ли найдёте что-то интересное для себя.
Но вот если попробовать создать, например, товар, только не на отслеживаемом клиенте, а на каком-нибудь другом (чуть позже поймёте, почему на другом), и снова посмотреть, что он вернёт, то увидите, примерно следующий ответ:
true SUCCESS 6308f3a9-298d-6b7d-0186-38a0563f0001 237070 97b00c04-beb1-4ddc-85cc-a2e43ae95e9a Product false 237070 false 2023-02-26T10:38:32.410+04:00 2023-02-26T10:38:32.398+04:00 1900-01-01T00:00:00.000+04:00 4386 TestGoods false 21000090000213124 6095 008c6c5a-e7bf-4475-8a20-57b363dd94f1 008c6c5a-e7bf-4475-8a20-57b363dd94f1 . false -724401794 3442 2023-05-29T10:38:32.413+04:00 ERROR messge LicenseChecker 480096
Заметили? Да, в entitiesUpdate->items лежат данные, которые необходимо обновить.
BackEnd разработчик PHP (Symfony) HR TECH (Проект Рекорд Мобайл) АО «Гринатом» , , можно удалённо , По итогам собеседования
Так, а давайте создадим товар на текущей машине и посмотрим, как, в этом случае, нам ответит сервер. При создании товара «админка» отправляет post запрос на адрес:»/services/products?methodName=createProduct». В ответ мы получим примерно тот же самый ответ,что и получили выше при запросе на «/services/update?methodName=waitEntitiesUpdate». То есть, мы также получили в ответе (entitiesUpdate->items) данные, которые необходимо обновить. Вообще, какой бы вы запрос ни отправляли на сервер, вы будете получать одну и ту же структуру, в которой всегда будет entitiesUpdate.
Сервер при любом запросе всегда возвращает следующею структуру:
Но как сервер понимает, что надо возвращать? Посмотрим, что мы отправляли на «/services/update?methodName=waitEntitiesUpdate»:
237069 BACK false dc193feb-8bd6-4357-b945-2795769583d0 123133 3072 4d7daff1-a070-45bf-928a-24d0a1c47f73 true true 237069 30000
Обратите внимание, на число «entities-version», а теперь посмотрите в ответ entitiesUpdate->revision. В моем случае, в ответе revision,больше на 1. Более того, у продукта, который мы создали, также есть свой revision, в данном случае, он равен entitiesUpdate->revision.
Насколько я понял:
- На сервере в БД у каждой таблицы есть колонка revision.
- Есть глобальная перемененная revision на сервере.
- В момент обновления или вставки мы сначала увеличиваем общий «revision», потом вставляем его в текущею таблицу.
Когда клиент запрашивает данные, то в «entities-version» указывает свой текущий revision.
Сервер в свою очередь проходится по всем таблицам и берет данные, где «revision» больше «entities-version», и возвращает их в ответе (items), где также возвращает свой revision.
Фух, почти всё! Остался последний пункт.
Аутентификация
Так пришло время разобраться, как сервер понимает, что мы это мы. Давайте взглянем на заголовок, который передаётся в каждом запросе:
POST /resto/services/update?methodName=waitEntitiesUpdate HTTP/1.1 Content-Type: text/xml X-Resto-CorrelationId: d0d3901c-d314-42cd-b363-81139698a229 X-Resto-LoginName: Login X-Resto-PasswordHash: > X-Resto-BackVersion: 8.2.7014.0 X-Resto-AuthType: BACK X-Resto-ServerEdition: IIKO_RMS Accept-Language: ru Host: > Content-Length: 654 Expect: 100-continue Accept-Encoding: gzip, deflate Connection: close
Кроме стандартных, мы видим заголовки, начинающиеся с «X-Resto-».
Давайте по порядку:
- X-Resto-CorrelationId: генерируете любой uuidv4 при каждом запросе и вставляете сюда, а также в тело запроса в поле
- X-Resto-LoginName: тут думаю понятно. Логин, который вы прописываете в форме авторизации в iikoOffice.
- X-Resto-PasswordHash: sha1 хеш от вашего пароля.
- X-Resto-BackVersion: текущая версия, актуальную можно найти по адресу: /get_server_info.jsp.
- X-Resto-AuthType: всегда «BACK»
- X-Resto-ServerEdition: IIKO_RMS
Дальше обязательные поля в теле запроса:
- entities-version: C этим мы разобрались ранее.
- client-type: BACK
- client-call-id: тоже самое, что и в X-Resto-CorrelationId
- license-hash: для /services/authorization?methodName=getCurrentFingerPrints можно ставить «0»,в остальных случаях берем актуальное значение (смотри ниже).
- restrictions-state-hash: для /services/authorization?methodName=getCurrentFingerPrints можно ставить «0», в остальных случаях берем актуальное значение (смотри ниже).
- obtained-license-connections-ids: Не понял зачем это нужно, но запросы работают без него, поэтому оставляем пустым.
- use-raw-entities: ставим «true». Не заметил, чтобы на что-то влияло.
По поводу «license-hash» и «restrictions-state-hash» можно получить, отправив запрос по адресу: «/services/authorization?methodName=getCurrentFingerPrints». Все! Как видите, все не так сложно:).
Итог
Возможно вам не хватает стандартных инструментов или вы хотите большей стабильности. Предугадать причины, по которым вы решите пойти по моему пути, я не могу. Я могу лишь пожелать вам удачи:). И да, также я подготовил демопроект на php.
Источник: tproger.ru
Руководство по установке — Модуль Интеграция с iiko
Перейдите в настройки модуля: Настройки > Настройки модулей > Интеграция с iiko. На вкладке «Авторизация» заполните поля «Логин iiko api », «пароль iiko api». Нажмите кнопку «Сохранить». Если учетные данные iiko api введены верно, после сохранения появятся остальные вкладки, в противном случае будет выдано сообщение об ошибке.
Для получение учетных данных api, обратитесь к обслуживающей вашу систему iiko организации.
3. Службы доставки
Перейдите в административной части Магазин > Настройки > Службы доставки и создайте службы доставки «Самовывоз», «Доставка».
4. Платежные системы
Перейдите в административной части Магазин > Настройки > Платежные системы и создайте платежные системы «Оплата картой на сайте», «Наличными или картой курьеру», «Наличными или картой в ресторане». Для последних двух укажите «Тип оплаты»: «Наличными». На вкладке «Ограничения» укажите ограничения по службам доставки