Основным комплексом для приема наличных для касс шведской компании ITAB, разработкой под которые мы занимаемся, является комплекс японской компании Glory с пафосным названием Cash Infinity 10.
Состоит он из двух отдельных устройств — купюро- и монетоприемников, соединенных с контроллером.
Монетоприемник — это устройство с точками ввода и вывода монет, транспортером, валидатором и 8-ю одинаковыми монетницами. После того, как монета принята, она по транспортеру доставляется в валидатор, который определяет ее номинал и отправляет в соответствующую ей монетницу. Если номинал не определен, то монета возвращается через точку вывода монет. Точно так же возвращается и любой мусор — скрепки, ключи. Сами же монеты смело можно вносить горстью — монетоприемник совершенно спокойно обрабатывает большое количество монет разных номиналов. Монетницы работают и на input, и на output, соответственно сдача покупателю выдается теми же монетами, которые внесли в кассу предыдущие покупатели.
Купюроприемник устроен по-другому. Купюра — это тонкая бумажка, и если она сложена куда-то, то забрать ее уже не получится, а значит реализовать систему input/output для купюр сложнее. Сложнее, но можно. Для этого в купюроприемнике размещены специальные барабаны: распознанная купюра наматывается на такой барабан и может быть точно так же снята для сдачи. Проблема лишь в том, что пространство в устройстве ограничено, поэтому в нем размещено всего 3 барабана, на которые логично устанавливать самые ходовые купюры. Все остальные купюры (а также ходовые купюры в случае переполнения соответствующего барабана) попадают в кассету, которую сотрудник в любой момент может изъять в закрытом виде и внести все ее содержимое в главную кассу.
Подключаться нам предстояло именно к контроллеру: это он объединяет работу двух независимых устройств, через свой API принимает команды от внешних систем (в нашем случае от кассы самообслуживания) и возвращает статусы по запрошенным операциям, а также по своему текущему состоянию. Звучит вполне понятно, и на какой-то момент мне лично даже казалось, что подключение одного блока, отвечающего за всю работу с наличными, не должно быть сильно сложнее подключения банковского терминала. Конечно же, это была лишь иллюзия, и уже в самом начале работы мы столкнулись с рядом больших задач:
1. Интерфейс покупателя для оплаты
Вершиной айсберга (и как впоследствии оказалось, одной из самых понятных задач) являлось создание интерфейса покупателя для приема наличных. Выбор наличных как способа оплаты переводит устройства из спящего режима (IDLE) в режим приема наличных (WAIT INTSERTATION), информация обо всех внесенных номиналах передается в нашу кассовую программу.
Мы столкнулись с трудностью — в тот момент, когда внесенная сумма становилась больше суммы чека, мы не могли послать команду выдачи сдачи на нужную сумму: такой команды в API просто нет. Сделано это потому, что обработка внесенной купюры и передача ее во внешнюю систему — длительный процесс, а значит в тот момент, когда внешняя система узнала о достаточности суммы часть купюр или монет еще могут быть на обработке. Соответственно, мы отправляем в контроллер команду CASH REQUEST, которая говорит контроллеру о том, что когда все купюры будут внесены и обработаны, можно будет перейти к выдаче сдачи. И уже сам контроллер возвращает нам событие WAIT FOR CHANGE, после которого мы показываем экран выдачи сдачи.
2. Настройка емкостей для всех номиналов
С монетами все кажется просто: 8 емкостей, и как раз монеты 8 номиналов в ходу. Правда, копейку Glory не принимает, как не принимает и большие 10-рублевые монеты. Оставшуюся емкость можно либо отдать под один из ходовых номиналов, либо отдать её под излишек монет. Мы выбрали второй вариант. Излишек или миксер собирает в себя монеты разных номиналов в случае переполнения их емкостей. Для купюр все немного проще: предстояло выбрать, какие 3 номинала разместить на барабанах. После консультаций с клиентом мы выбрали купюры в 50, 100 и 500 рублей. Соответственно, тысячными купюрами касса сдачу не даёт.
Один из ключевых вопросов настройки: при каких значениях блокировать оплату наличными на кассе самообслуживания? Не хочется допускать ситуации, когда мы в очередной раз отправим контроллеру команду CASH REQUEST, а он не сможет выдать сдачу по причине отсутствия необходимых номиналов. Не хотелось блокировать оплату сильно заранее, но и приближаться очень близко к проблемной ситуации не хотелось тем более. В итоге в силу опасений и более простого варианта реализации, мы выбрали более заблаговременное решение: оплата наличными блокируется, если хотя бы для одного номинала больше нет возможности выдать сдачу при внесении следующего по значению. То есть, если 500-рублевых купюр на барабане остается меньше 9 (именно столько нужно будет купюр для выдачи сдачи по маленькой покупке при внесении пятитысячной купюры) или 100-рублевых будет меньше 4-х, то оплата наличными автоматически будет заблокирована, а покупатель оповещен об этом на стартовом экране и на экране выбора способов оплаты.
Кроме того, оплата наличными автоматически блокируется при приближении переполнению кассеты с наличными или излишка монет.
3. Индикация о недостатке или избытке купюр и монет
Задача системы индикации — оповестить сотрудника магазина о приближающейся проблемной ситуации. Механизмов оповещения у нас два: фонарь-индикатор над кассой и отображение состояния наличных на кассе в интерфейсе сотрудника магазина. Логика такая: как только помощник видит, что между покупками на кассе фонарь начинает мигать зеленым светом, то нужно проверить состояние наличных. Более детальную информацию он может посмотреть в режиме работы с наличными.
В системе индикации состояния, не требующие внимания, отображаются серым, близкие к проблемным — розовым, а критические (в результате которых оплата наличными будет заблокирована) — красными. Кажется, что напрашивался светофор с зелеными, желтыми и красными состояниями, но в этом пестром сочетании выделить что-то наиболее значимое сложнее.
Цвет зависит и от типа емкости. Например, переполнение монетницы — это плохо, ведь теперь все монеты будут сыпаться в излишек, а его емкость совсем небольшая. Поэтому 10-рублёвая монетница подсвечена розовым. Переполнение барабана напротив — очень хорошая ситуация, ведь есть чем выдавать сдачу. Да, лишние купюры будут отправляться в кассету, но емкость кассеты достаточна для того, чтобы их вместить.
Много частных вопросов было при расстановке границы: к примеру, при какой заполненности кассеты она должна подсвечиваться розовым? После нескольких мозговых штурмов мы установили это значение на уровне 75 процентов. Соответственно, в этот же момент начинает мигать фонарь над кассой. Аналогичные решения требовалось принять по всем емкостям для купюр и монет.
4. Огромный блок работы с кассовой дисциплиной
Внесение и изъятие из-за перечисленных особенностей оборудования оказались совсем не простыми задачами. Даже несмотря на то, что во всех кассовых решениях нашей компании внесение и изъятие присутствует, здесь многие из принципов приходилось практически полностью переосмысливать.
С внесением все в целом довольно понятно: после входа в режим внесения купюро- и монетоприемники готовы к приему наличных. Номиналы всех внесенных купюр и монет отображаются рядом с соответствующими емкостями. А после того, как все внесено, сотрудник должен нажать «Завершить внесение», проведя эту транзакцию через фискальный регистратор, который и напечатает документ о внесении.
Особенностей немного, но они есть: внесение тысячных и пятитысячных купюр не несет никакого смысла — эти купюры попадут в кассету, которая выдать покупателю их не сможет. А значит для этой ситуации требуется отдельная индикация.
Понятно, что скорее всего сотрудник не будет вносить такие номиналы, но может быть другая ситуация: один из барабанов переполнился и все купюры из него начинают попадать в кассету. И в этом случае как раз это очень полезно — сотрудник сразу видит, что вносить этот номинал больше нет смысла. Аналогична ситуация и с излишком монет.
С изъятием пришлось повозиться. Изъятий может быть 4 типа (чего в принципе не может быть на обычной кассе):
- изъятие монет определенного номинала
- изъятие излишка монет
- изъятие купюр с барабанов
- изъятие кассеты с купюрами
Для каждого из них требовалось реализовать различные варианты поведения.
- При изъятия монет из одной из монетниц выбирается сумма изъятия, кратная номиналу.
- Излишек монет изымается только целиком, изъять часть монет определенной суммы просто нет возможности, ведь все монеты в нем перемешаны
Деньги из монетниц возвращаются не сразу, а после нажатия кнопки «Завершить изъятие». В этот же момент печатается документ изъятия.
- Для купюр так же как и для монет выбирается сумма изъятия, кратная номиналу на барабане, но после консультаций мы решили не выдавать эту сумму через купюроприемник, а отправлять ее в кассету. Соответственно и документ изъятия в этом случае не печатается, ведь деньги остались в кассе.
- При изъятии кассеты практически вся последовательность действий задана производителем. Мы отправляем команду на изъятие кассеты, в купюроприемнике разблокируется дверца, которая ее запирает. Сотрудник открывает дверцу, вынимает кассету. Вставить обратно он обязан пустую кассету, иначе контроллер хоть и вернется в изначальное состояние IDLE, но не вернет событие об инвентаризации кассеты. Соответственно наш кассовый модуль не сможет напечатать документ изъятия, не сможет узнать состояние кассеты, поэтому в этом случае мы решили блокировать оплату наличными и требуем вставить пустую кассету. Это разумно, ведь у него совершенно не будет возможности узнать какая сумма осталась в кассете после изъятия.
Выбор в случае изъятия кассеты был только в том, в какой момент печатать документ об изъятии. Вначале мы решили печатать его в момент установки пустой кассеты обратно, но после анализа процессов магазина стали печатать документ сразу после изъятия кассеты. Причина в том, что документ остается в главной кассе после внесения в нее денег. Главная касса далеко от касс самообслуживания, и сотрудникам приходилось бегать 2 раза: вначале с деньгами, потом с документом. Мы просто оптимизировали их работу.
5. Обработка ошибочных ситуаций
Ошибочных и пограничных ситуаций оказалось настолько много, что выделять всю эту титаническую работу во всего лишь один пункт с моей стороны немного неправильно. Приведу лишь несколько вопросов, на которые приходилось отвечать как разработчикам и тестировщикам, так и мне как проектировщику интерфейсов.
- Как будет обработано застревание монеты / замятие купюры? Как поведет себя касса в режиме покупателя и в режиме помощника?
- Что будет, если после того, как помощник нажал «Завершить внесение», он вдогонку бросит в приемник еще несколько монет?
- Отсутствие копеек накладывает свой отпечаток: что делать в ситуации, если итоговая сумма получилась с копейками (например, если не сработала скидка на округление чека)?
- Сам контроллер может находиться далеко не только в состояниях IDLE, WAIT INSERTATION и WAIT FOR CHANGE. Состояния меняются от каждого действия: есть COUNTING, включающийся в момент подсчета внесенных денег, есть CALCULATING CHANGE AMOUNT — включается на доли секунды в момент подсчета сдачи, есть DISPENSING, который включается в любой момент выдачи денег. Само собой есть и состояние ERROR, которое содержит детали произошедшей ошибки. А всего таких состояний ровно 30, причем в каждом из них становятся доступны или недоступны свои функции. Все это нужно не только запрограммировать, но и протестировать.
Ну, а теперь пришло время рассказать о главном: лучшей характеристикой проделанной работы является не ее описание, а факт того, что полученный результат используется и выполняет свою функцию.
Ровно месяц назад мы запустили остров самообслуживания из 4-х касс с модулем приема наличных в одном из магазинов торгового комплекса «Галерея» в Санкт-Петербурге.
Без лишней скромности скажу, что запуск прошёл на ура. Покупатели с интересом восприняли новинку. Уже за первую неделю работы кассы самообслуживания взяли на себя приличный процент покупателей. Но мы не останавливаемся — в планах много идей по улучшению и оптимизации работы касс.
Лучше один раз увидеть, а ещё лучше — попробовать. Приезжайте в Петербург и оцените наше решение.
Желаю всем разработчикам быть усердными и внимательными к важным мелочам. Помните, что в первую очередь и железо, и интерфейс должны помогать пользователям.
Комментарии (51)
iSage
01.06.2015 10:20+4Ну почему, почему вы так не любите людей с плохим зрением. Экран и так довольно глубоко утоплен, так еще и сумма мелко где-то внизу пишется.
amarao
01.06.2015 10:32+7А почему так жестоко? Я имею в виду отказ в приёме?
Я бы честно писал:
«купюры в 5000 временно не принимаем (не достаточно сдачи)» — если не хватает только 500р купюр.
А «временно не принимаются» я бы писал во-первых с извинением (вы доставили неудобство покупателю): «У автомата закончилась сдача, наличные временно не принимаются. Извините за неудобства», а во-вторых обязательно бы писал варианты продолжения: с доступными методами оплаты, а так же инструкцию что делать, если у клиента только наличные (например, предложение оплатить на другой кассе).Eamon Автор
03.06.2015 15:41Как минимум такой вариант сложнее с точки зрения реализации (нужно прочитать эту ситуации, вывести на экран, заблокировать прием конкретных купюр на уровне Glory), а плюсы неочевидны: на текущий момент ситуация возникает крайне редко.
Такой же вариант позволяет сделать унифицированной подачу сообщений о невозможности оплаты, унификация позволяет опытным покупателям оценить на какую кассу идти с точки зрения доступности номиналов.
amarao
01.06.2015 10:37+1Да, вот такой вопрос: что вы делаете, если монетоприёмник переполняется в процессе оплаты? Я в режиме пентеста насыпал бы вам 10-копеечными (или какой у вас минимальный номинал) монетами на покупку в 2-3т.р. и посмотрел, что будет.
Ещё в режиме пентеста: если я на купюру наклею леску и отпущу в свободное плавание в автомат, в каком месте она застрянет? (Более мирный пример: грязная купюра, к которой на грязь прилипли волосы).
Eamon Автор
01.06.2015 11:07+1Никаких трудностей не будет. Касса уведомит покупателя о проблеме при оплате и попросит подождать помощника. Когда залогиниться помощник, ему уже будет показана информация о произошедшей ошибке, включая даже gif-анимацию, помогающую разрешить возникшую ситуацию.
amarao
01.06.2015 12:49-3То есть если помощника нет, то человек остаётся без денег? А от аппарата не отойти, потому что «а вдруг он заработает и деньги съест». А вызыван помощник или нет не написано и с оператором (кнопочкой) не связаться…
Стрессовая ситуация — и аппарат никак не помогает.Eamon Автор
01.06.2015 13:02+6Согласен, покажу покупателю видео как ему разобрать кеш-машину и достать застрявшую монетку. Блин, ну несерьезно же!
Конечно, для критичных ситуаций требуется помощник. Ситуации, в которой в магазине, в котором одновременно работают 10-15 человек никто не может помочь в обозримое время не должно быть в принципе, любой магазин в курсе всех таких ситуаций, а мы лично проводим обучение по их исправлению.amarao
01.06.2015 14:03Я немного про другое. У человека «не работает» и острейшее подозрение, что его деньги сожрали и не вернут, а он будет беуспешно доказывать, что деньги его и пытаться убедить в том, какая там была сумма.
В этой ситуации надо не рассказывать как монетку вынимать, а дать такой текст, который все эти опасения разрешит.
То есть ответы:
— Мы уже знаем, что случилась проблема и помощника известили
— Он будет в течение N минут
— Не беспокойтесь, внесённые но не засчитавшиеся средства вам вернут.
— Извините за неудобства.
— Инструкция, что делать, если помощник не появился в течение какого-то времени. Основное: можно ли от аппарата отходить.Eamon Автор
01.06.2015 14:14+2Вот уже я вижу много текста. Очень много. У нас есть возможность вывести максимум 6-7 слов, иначе все равно не прочтут. Мы и выводим информацию о том, что возникла проблема и помощник уже идет. Все. Среднее время подхода помощника секунд 7 по-моему.
amarao
01.06.2015 14:15-1Ок, ошибка висит 60 секунд, а помощник всё ещё идёт. Что человеку делать?
Eamon Автор
01.06.2015 14:47+1Посмотрел: пока таких ситуаций не было. Ситуация редкая, а помощники очень оперативны, так что приоритет весьма низкий.
amarao
01.06.2015 14:53Ок. Я просто один раз в такой ситуации был — и это очень, очень уязвимая психологически ситуация. После неё я предпочитал покупать жетончики в кассе, не смотря на очередь.
Eamon Автор
01.06.2015 14:54+1Здесь я понимаю, говоря языком психологии произошло негативное подкрепление. Я внесу задачку по изменению текста после определенного времени ожидания, но опять же повторюсь: пока приоритет низкий.
MichaelBorisov
01.06.2015 13:07+2Я наблюдал подобные автоматы в странах Запада. Там помощник всегда присутствует около островов самообслуживания. На 4 кассы 1-2 помощника, и они совсем не сидят без дела. Кто-то из покупателей не может разобраться с системой, кому-то нужно удостоверить возраст (для покупки алкоголя и сигарет). На выходе из острова самообслуживания обычно установлены ворота, которые открываются по сигналу помощника.
Так что помощник придет быстро. Ну и обычно в интерфейсах подобных автоматов есть кнопочка «вызов помощника».MorfeusKiev
01.06.2015 14:07+2Ваша правда. В Польском Tesco просто обожаю пункты самообслуживания. На 10-12 касс — 1 помощник. Справляется на ура. Так как система давно работает, люди уже научены. 1 раз за всю историю проживания в Польше — (3 года) — автомат выдал неверную сдачу.
ALTF13
01.06.2015 10:52Одно замечание — шрифты интерфейса покупателя стоит сделать крупнее. Место для этого вроде бы есть.
Три вопроса:
1) Как производится валидация монет и купюр? Определение номинала, проверка на фальшивость и т.п.
2) Когда такое чудо планируется в Москве? Хочу попробовать :)
3) Как магазин проверяет, что покупатель отсканировал весь товар из корзинки?Eamon Автор
01.06.2015 11:17+2Ответ простой: со шрифтами никаких трудностей не возникало. При этом в других конфигурациях кассы места меньше, поэтому в настоящий момент изменять этот вариант представления информации не планируем.
По остальным вопросам:
1) Процесс валидации осуществляется в каждом устройстве отдельно, монеты валидируются по размеру и весу, купюры по нескольким признакам. Сама валидация полностью инкапсулирована в Glory, от контроллера нам приходят только номиналы провалидированных купюр и монет.
2) В Москве стоят кассы в Азбуке Вкуса в торговом центре «Ереван Плаза» на Тульской, но там оплата только по банковским картам. Также похожие кассы от немецкого производителя Wincor-Nixdorf стоят в гипермаркете Лента в ТК «Мозаика» на третьем транспортном кольце, ими мы тоже активно занимались в прошлом году.
3) Проверка отсканированных товаров осуществляется с помощью весовой платформы. Каждый отсканированный товар нужно поставить на нее для проверки, при этом поставить товар без сканирования на платформу нельзя.lolhunter
01.06.2015 15:54+2Ооо) Как раз закупаюсь в Ленте — кассы слегка багнутые. Проблем с ними много и народ пользуется только потому, что днем там 1 живой кассир.
1) Алгоритм работы по весу кривой. Типичный вариант — просканировали товар — положили товар работает, но например просканировали товар — положили товар — ребенок дотронулся до платформы и добавил 13 грамм приводит к неавторизованный товар позовите консультанта. Причем когда перестали трогать ошибка все равно висит. Понятно, что сделано это для того, что бы товар не подменили. Но тогда платформу для взвешивания не надо делать во весь размер вместе с боковыми рейками за которые так хочется подержаться 3-5 летнему ребенку. Надо сделать в центре большую корзину — и будет в разы удобнее. Я на 20 товаров звал консультанта 8 раз. Ребенку было скучно…
2) Почему количество пакетов пробивается после покупки, а не до? Нельзя сначала пробить 1-2 пакета и паковать в них, а потом добить? Из-за этого 90% сначала пробивает все товары на платформу, а потом начинает собирать эти товары в пакеты. А так как в кассе весы — следующий просто ждет. Причем так как платформа плоская при более-менее большом количестве покупок они отлично растекаются даже с пакетами.Eamon Автор
01.06.2015 16:19Спасибо огромное за обратную связь. На самом деле в Ленте стоят кассы нашего партнера, влиять на них мы можем лишь частично. В частности, мы никак не можем влиять на обработку ошибок, программный комплекс кассы Wincor-Nixdorf полностью сам осуществляет эту работу.
Что касается касс в Галерее, то там мы, например, не блокируем кассу при прикосновении, а в случае ошибки даем покупателю исправить ее самостоятельно. Это значительно ускоряет работу — до 80 процентов покупателей сам справляются с возникшими предупреждениями. Кстати, аналогичные с точки зрения поведения кассы стоят в Азбуке Вкуса на Тульской, заходите сравнить=)
CaptainTrunky
01.06.2015 14:04Подобная система еще в Перекрестке у метро Крылатское.
ALTF13
01.06.2015 14:14О, отлично, рядом с офисом. Как раз сегодня зайду проверю юзабилити. Спасибо!
Eamon Автор
01.06.2015 14:44Там юзабилити не очень, сразу говорю. Это другие кассы.
CaptainTrunky
01.06.2015 15:56Согласен, система из поста выглядит посимпатичнее. С другой стороны, каких-то существенных проблем в Перекрестке у меня тоже не возникало. Самообслуживание как самообслуживание, да и персонал рядом сидит, чтобы помочь в случае чего.
Eamon Автор
01.06.2015 16:38Ну тут не только в симпатичности дело, мы изначально проанализировали проблемы других решений и постарались сделать что-то, что превосходит их. Во многом это получилось.
CaptainTrunky
01.06.2015 17:12+1Я использовал «по-симпатичнее» не только в контексте красочности. Я включил в это понятие удобство пользования и остальные аспекты из статьи.:)
Eamon Автор
01.06.2015 12:09Я был там, уже даже больше 2х лет на самом деле. Там другие кассы от американского производителя NCR, под такие кассы разработка не ведется, они поставляются как готовое решение.
berez
01.06.2015 13:35+1Интересная статья, надо будет сходить в «Галерею» как-нибудь, пощупать живьем…
Одного не понимаю: зачем небритый субъект на КДПВ хочет затолкать кулаком доллары обратно в экран?Eamon Автор
01.06.2015 13:36Я здесь скорее увидел радость, примерно такие же чувства мы испытывали в день запуска=)
remal
01.06.2015 13:53Расскажите, пожалуйста, как вы проводили тестирование с реальными покупателями. Снимали ли процесс на камеру, выявляли ли в каких местах у них проблемы при работе с вашим интерфейсом? Просто мои впечатления, как покупателя, были довольно-таки негативными — несколько раз затупил, хотя помощи, в итоге, не потребовалось. Может, просто надо привыкнуть или это лично мои заморочки — хз.
Eamon Автор
01.06.2015 14:03А личные впечатления именно из Галереи?
В целом у нас было 7 раундов юзабилити-тестирований, потом несколько запусков, в результаты которых мы выявляли наиболее существенные проблемы и решали их в соответствии с этими приоритетами. К запуску Галереи мы подошли уже с хорошим багажом исправленных трудностей, однако не спорю, что еще есть к чему стремиться.
Задача по созданию удобного интерфейса решается очень непросто: процесс покупки непривычный, а покупатели очень мало смотрят на экран, и донести информацию получается далеко не всегда.
rdc
01.06.2015 16:20идея «в порядке бреда» — а что, если вместо сдачи выдавать карточку номиналом с эту сдачу, которую в дальнейшем можно использовать для частичной оплаты следующей покупки?
это может одновременно упростить конструкцию, решить проблему фальшивой сдачи, и ещё и простимулировать переходить на безнал.Eamon Автор
01.06.2015 16:30На самом деле это усложнит конструкцию. Ведь системы для приема наличных мы сами не производим, а покупаем уже готовые. А среди них все заточены на выдачу сдачи.
rdc
01.06.2015 16:32+1я основывался на уличных терминалах, которые этого не умеют.
а что до карточки — тут даже дополнительного оборудования не нужно, можно чековым принтером напечатать.Eamon Автор
01.06.2015 16:35Мы решили не ломать пользовательский опыт от посещения магазина, где покупатель всегда получает сдачу. Тем более что были наработки с разными системами приема наличных.
biathlon
01.06.2015 23:21Я заметил слева от сканера есть блок для размагничивания антикражных меток. А в интерфейсе есть напоминание, что их нужно размагничивать? А то ведь пакет потом «запищит» на антикражных воротах?
Eamon Автор
01.06.2015 23:37Нет, обычно он естественным образом размагничивает, не хочется замусоривать интерфейс. Если не срабатывает, то быстро решают вопрос, но такое происходит очень редко.
spc
02.06.2015 09:16Интересно, и навыки решения проблем вызывают уважение, но все это выглядит как натуральная катастрофа. То есть, я хочу сказать: на дворе XXI век, а продавцы не сказать чтобы особо профессиональных решений до сих пор подходят к своей задаче как к тяжелой промышленности (т.е. клиенту нужно — клиент допилит).
Причем что смешно, задача торговли — она же не новая. И я не поверю, что у нас с теми же японцами настолько разные валютные парадигмы, чтобы нельзя было вместе с этими несчастными приемниками денег заодно поставлять и типовые решения и сценарии. Ну, чтобы инсталлятор, если не сразу запускал, то хотя бы мог ознакомиться с проверенными и работающими вариантами.
Это и к выбору того, какие номиналы купюр использовать, и к моменту отсечки по выдаче сдачи.
В общем, для «любителя» все это выглядит как мрак кромешный. Примерно как мы калитки для СКУД покупали. Очень красивые и вроде бы правильные, и вроде бы интерфейс какой-то наружу есть. Но начинаешь ставить — то при подключении к нашему контроллеру проблемы, то выясняется, что строители стены вывели не в параллель, а в трапецию и теперь нужно менять нулевое положение створок, а это, простите, не предусмотрено. И как дурак лезешь переклеивать координатные метки для оптронов.
Хотя казалось бы — могли бы и добавить если не автоматическое выведение калиток в ноль, то хотя бы какой-нибудь регулятор для этого. Как и для скорости движения створок.navion
04.06.2015 01:38+1Строители — это наше местное, нигде не принимают объекты с такими нарушениями технологии и нормативов. Из последних примеров:
1. Офис, двери которого полностью не открываются из-за кривого пола.
2. Пол в пешеходном переходе ниже уровня сливных отверстий.
3. Забор, уходящий на 20 сантиметров от бордюра с одной стороны и «уголок» сваренный в виде буквы «T» вместо «Г».
Infactum
Ранее на хабре была статья про устройство банкоматов, в которой говорилось о том, что для приема и выдачи наличных всегда используются разные кассеты. Я так понимаю это гарантирует, что даже если система приема купюр пропустит фальшивку, не возникнет ситуации, когда покупателю будет выдана сдача фальшивками. А тут выходит этот риск не рассматривают?
Eamon Автор
Во-первых, валидация стала лучше с тех пор, как банкоматы завоевали мир. Но в целом, конечно, риск все равно есть, правда вероятность, что подделана будет купюра в 500 рублей или 100 рублей минимально. А тысячные и пятитысячные купюры попадают в кассету, ими сдача не выдается.
MichaelBorisov
Все равно возможно возвращение фальшивки в оборот, если она пройдет более детальную проверку в банке. Но ведь эти проверки скорее всего выполняются машинами. Так что, если в банкомате установлена проверочная машина не хуже, чем в хранилище банка — то никакой разницы нет.