...
...
...
...
...
...
...
...
...
...
...
Waiter позволяет работать с базой зарегистрированных гостей и пользоваться механиками лояльности и внутренних платежей при использовании на предприятии системы отличной от iikoCard5.
Работа с внешней лояльностью может быть реализована для сценариев:
чекина
чекина
...
, чекаута
...
и
...
оплаты
Внешняя лояльность может поддерживать механики:
персональные скидки
подарочные блюда
бонусы
депозиты
подарочные сертификаты
Порядок действий пользователя аналогичен при использовании iikoCard 5.
Сканируемая информация может содержать не только токен или номер карты, но и какие-то расширенные сведения, за парсинг и обработку которых отвечает фронтовый плагин интегрируемой системы. Это позволяет использовать, например, динамические токены карт.
Есть урезанный вариант взаимодействия с ответом Waiter Message на привязку гостя.
Info |
---|
Данная интеграция реализуется в виде фронтового плагина для сервиса лояльности с определенными требованиями к разработке, описанными ниже. |
В случае использования интеграции лояльности на базе внешних плагинов ответственность
...
Waiter ограничивается передачей данных отсканированного значения во внешний плагин
...
.
Note |
---|
Все ошибки или проблемы относительно работы с лояльностью лежат на поставщике технических решений внешней системы лояльности и решаются и устраняются этими поставщиками. |
Сервисам лояльности, реализовавшим интеграцию с Waiter, мы предлагаем разместить информацию об этом на данном портале. Для этого просим предоставить следующую информацию:
Ссылка на сайт сервиса
Ссылку на инструкцию пользователя (описание работы сервиса в интеграции с Waiter)
Ссылку на дистрибутив (или на форму для запроса на установочный пакет)
Ссылку на инструкцию по установке и настройке (руководство администратора)
Контакты службы поддержки для конечных клиентов и сервисных партнеров iiko
Рекомендательно
Ссылки на маркетинговые материалы по описанию кейса интеграции
Требования интеграции к разработчикам
Для интеграции с внешними системами лояльности в плагине
...
WaiterServer реализован ряд публичных методов для обмена данными с сервисами таких систем. В процессе взаимодействия плагин
...
WaiterServer выступает активной стороной и инициирует запросы.
Для взаимодействия используются:
...
набор публичных методов
...
Http REST API
Поддерживают по http универсальные методы взаимодействия с плагином вейтера:
Привязка гостя к заказу
Отвязка гостя от заказа
Запрос доступных механик лояльности по заказу
Проверка работоспособности внешнего сервиса лояльности (пинг)
Возвращаемые от внешней системы данные о лояльности: остатки на персональных счетах (кошельках) гостя, специальные предложения и т.д. Не являются обязательными для работы интеграции.
Привязка гостя к заказу
...
фронта должна быть реализована через привязку гостя БРД методами фронтового АПИ.
Вариант с привязкой гостя БРД требует от сервиса внешней лояльности обязательной реализации собственного фронтового плагина, который будет выполнять следующие операции:
получение данных о госте по токену или номеру карты от внешнего сервиса лояльности
поиск гостя в базе БРД
добавление нового гостя в базу БРД в случае его отсутствия там
привязку гостя БРД к заказу
отвязку гостя БРД от заказа
Расчет доступной суммы для оплаты бонусами и депозитом
Платежный процессор с собственными типами оплаты (только для варианта с чекаутом?)
Для потребностей настройки внешнему плагину необходимо залогировать собственные типы оплат, обрабатываемые встроенным платежным процессором, в виде имени ТО и значение GUID для ТО.
Пример:
Code Block |
---|
ExternalLoyaltySystemName payment types:
Bonuses (ExternalLoyaltySystemName) - (0668e655-15a0-4b5e-ab3c-c7f7003cb8cc).
Deposit (ExternalLoyaltySystemName) - (d645d632-cd95-4d49-9974-06911a9cd314). |
Для поддержки интеграции стороннему серверу системы лояльности необходимо реализовать у себя нижеперечисленные методы REST API
...
. Рекомендуем ASP.NET использовать в качестве Web Server.
...
API
Anchor | ||||
---|---|---|---|---|
|
...
Expand | ||||
---|---|---|---|---|
| ||||
|
...
|
...
|
...
Версия плагина iikoWaiter5
Parameters
|
...
|
...
Payload
Responses |
...
|
...
|
...
|
...
...
|
...
...
Response sample
DTOCheckinRequest
CheckinResponse
|
...
|
Expand |
---|
...
| ||||
|
...
|
...
Parameters
...
|
...
Версия плагина iikoWaiter5
...
7.7.1+
Parameters
|
...
Payload
Responses |
...
|
...
|
...
|
...
|
...
Response sample
DTOUncheckinRequest
UncheckinResponse
|
...
|
Expand |
---|
...
|
...
Content-Type
...
Request
|
...
|
...
|
...
Версия плагина iikoWaiter5
Parameters
|
...
Request sample
plugin_host - хост, на котором развернуто API плагина внешней системы лояльности order_id - Id заказа |
...
...
Response |
...
|
...
|
...
|
...
|
...
...
Не нужно реализовывать все ответы. Выберите один или несколько, которые подходят для вашей задачи. Response sample
DTOLoyaltyResponse
|
...
|
...
ClientWallet
|
...
|
...
|
...
Expand |
---|
...
| ||||
|
...
|
...
|
...
Версия плагина iikoWaiter5
Parameters
|
...
|
...
Response |
...
|
...
|
...
Response sample
|
...
|
...
|
...
|
...
DTOPaymentLimitsResponse
|
Доступ к сохранённым PaymentItems в ExternalData
...
Content-Type
...
application/json
...
ExternalData key
...
iikowaiter5.paymentItems
...
API Method
...
PluginContext.Operations.TryGetOrderExternalDataByKey(orderId, Key)
...
Версия плагина iikoWaiter5
...
7.8.3+
DTO
...
Property
...
Type
...
Description
...
ClientId
...
Guid
...
Id зачекиненного клиента, при котором сохранялись paymentItems.
...
PaymentItems
...
List<PaymentItem>
...
Список всех добавленных к заказу PaymentItems.
PaymentItem
...
Property
...
Type
...
Description
...
PaymentType
...
PaymentType
...
Тип платёжной системы.
...
Sum
...
decimal
...
Сумма платежа.
PaymentType
...
Property
...
Type
...
Description
...
Id
...
Guid
...
Id платежной системы
...
Kind
...
PaymentTypeKind (enum)
...
Name
...
string
...
Имя платёжной системы.
PaymentTypeKind (enum)
...
Expand | ||||
---|---|---|---|---|
| ||||
|
...
|
...
|
...
Версия плагина iikoWaiter5
...
Response |
...
|
...
|
...
|
...