PDA

Просмотр полной версии : Абонемент + iikoCard5 (iiko)



Speaker
10.11.2016, 15:22
Добрый день,
интересует возможность интеграции по такой схеме:

Вход/Выход (оплата) с территории на стороне R-Keeper 7

На территории столовые/рестораны на базе iikoFront + iikoCard5

Гость в столовых/ресторанах расплачивается со своего депозитного счета
прикладывая магнитное устройство к считывателю.

При выходе с территории R-Keeper 7
должен
1) Выдать приглашение на считывание магнитного носителя
2) По API получить в iikoCard5 баланс карты
3) По API пополнить сумму = модулю баланса карты (обнулить баланс)
4) провести чек на оплату = балансу карты из пункта 2


Возможно такое? Долго ли делать? К кому обращаться - непосредственно к разработчикам R-Keeper
или диллеры/партнеры могут дописывать код по ТЗ выше?

---------- Добавлено в 14:22 ---------- Предыдущее сообщение было размещено в 13:54 ----------

Уточнение, не сам R-Keeper как таковой, а система Абонемент от UCS

SH
11.11.2016, 19:34
Абонемент совсем другой зверь... Переименовал тему, посмотрим, кто что сможет подсказать.

sibgaba
12.11.2016, 10:44
Можно все. Вопрос только в цене.

На сколько я понимаю, Абонемент у вас используется для продажи входа на территорию (возможно какие то правила наложены и тарификация).
На входе (в Абонементе) используются какие то идентификаторы? Какие?
На кассе в айке для оплаты используется этот же идентификатор или какой то другой?

Дальше. Если бы вы не скрещивали ужа с ежом, то в Кипере (на кассах) при оплате чека информация о транзакции уходила бы сразу в БД Абонемента (стандартный функционал ПО) + условия которые накладываются на баланс счета. Типа: Оплата на кассе возможна только при положительном балансе, или в кредит до определенного лимита, или безлимит.

На выходе, Абонемент смотрит в свою БД и берет оттуда актуальный баланс.

Что получается в вашем случае:
1. Вы хотите что бы в момент выхода Абонемент обратился за балансом не в свою БД, а к БД айкокард - это точно не получится. Тем более что баланс гостя на выходе сложится не только из потрат на кассах, но и возможно, из штрафов, которые начислены Абонементом (например, за превышение времени тарификации).

2. Получается что на момент выхода все потраты гостя уже должны быть отражены в БД Абонемента.
Технически можно постить в БД Абонемента внешние транзакции по определенным счетам. Вопрос в том как их получить.

Если бы у айки было хоть какое то подобие FarCard, то вопрос бы решался относительно просто. Но ничего подобного там нет. Только через iikocard. Значит надо получать данные оттуда.
Уверен на 100% что iikocard не умеет сам отдавать во вне инфу по транзакции в момент ее совершения. Значит надо сторонними средствами мониторить баланс всех счетов и в случае изменения какого то из них переносить эту транзакцию в БД Абонемента.

Вы упоминаете API iikocard. на api.iiko.ru ничего нет.
Есть что почитать?

PS Стоимость такой разработки будет оцениваться числом с пятью нулями...

Speaker
14.11.2016, 11:09
1) http://api.iiko.ru/Instruct.aspx -> API iikoDelivery, раздел iikoCard5

это просто предложение того, как нелогично, но с меньшими затратами можно было бы организовать вычитание денег за питание
БД разные, поэтому просто предложил внедрить всего 4! функции
а) выдать окно средствами UCS о считывании магнитного носителя (запомнили циферки)
б) получить токен для дальнейшей работы с iikoCard5
в) запросить баланс по карте по этим циферкам и выдать на экран
г) закрыть чек на сумму питания из пункта в и передать функцией в iikoCard пополнение по карте на эту сумму
все
пять нулей, что б все так жили))

sibgaba
14.11.2016, 14:00
а) выдать окно средствами UCS о считывании магнитного носителя (запомнили циферки)
б) получить токен для дальнейшей работы с iikoCard5
Выше, я как мог, попытался вам объяснить что невозможно перенаправить запрос из Абонемента куда то в другое место (в БД iikocard). Не возможно в абонементе ничего запомнить (не предусмотрено там для этого места).
Не возможно изменить логику работы ПО. Можно только подсунуть в БД те данные которые нам нужны, но сделать это нужно так что бы никто не заподозрил подмены ;)


в) запросить баланс по карте по этим циферкам и выдать на экран
г) закрыть чек на сумму питания из пункта в
Нельзя так просто "закрыть чек на сумму". Любая сумма прошедшая в оплату должна иметь под собой какие то товары/услуги. Соответственно в Абонементе нужно формировать номенклатуру чека. Точнее нужно что бы на момент начала оплаты в Абонементе (в фолио гостя) уже были собраны услуги, который формируют долг по фолио.


и передать функцией в iikoCard пополнение по карте на эту сумму
Тоже нет. Абонемент никому ничего не передаст (не заложено в него это) соответственно гасить долг в iikocard должна сторонняя программа (модуль).

Опять же отчеты должны сходиться. Сумма денег принятых в Абонементе в оплату услуг Питания должна сходиться (в идеале) с суммой пополнения в iikocard.


пять нулей, что б все так жили))
Вот и выходит всего то делов на пять нулей ;)



1) http://api.iiko.ru/Instruct.aspx -> API iikoDelivery, раздел iikoCard5
Спасибо.