Автор говорит об обратной проблеме. Снимал 5к в сберовском банкомате, так он мне даже и не предложил выдать их по 1к или еще лучше часть сотнями. Просто взял и выдал мне одну бумажку. Очень удобно, конечно. Но знаю один банкомат, который на 5к выдает по 4*1к+500р+5*100р. Вот то очень удобно, как по мне.
Мне недавно сберовский банкомат на запрос выдать 4000 крупными выдал их по купюрам по 100р. Да, пачку из 40 соток.
А 5000 перед этим вообще отказался выдавать.
Банкоматы с возможностью выбора номинала купюр существуют. Обычно это «выдать крупными-средними-мелкими»
У вас интерфейс слишком сложный, кроме того не очень безопасный и очень медленный.
Надо по 100 — снимаешь несколько раз по 400, например. Надо крупными, указываешь кратные 5000. Но не во все банкоматы суют 5000-е.
Хотя да, я бы предпочёл выбор.
Разные банкоматы встречал, некоторые выдают 10тыс двумя купюрами по 5тыс, некоторые десятью по тысяче, но больше всего нравится вариант, когда дают 7*1000, 4*500, 8*100, 4*50 (или примерно так). Но мне кажется, что слишком загружать интерфейс не стоит, наоборот, я бы упростил, убрав лишние шаги, типа печать чека (например, сделав этот пункт чекбоксом в интерфейсе ввода суммы, с запоминанием выбора для конкретной карты).
у меня тёща, вроде неглупая женщина, полтора года не видела в Сберовском банкомате пункт «другая сумма». Если нужно было что-то не из предложенного, то приходилось комбинировать в несколько приёмов: 2800р = 300+500+2000.
Точно таких банкоматов, как описано в статье довольно много. Например банкоматы банка Авангард. Больше на вскидку не вспомню названий банков, но мне встречаются довольно часто.
Без команды с «хоста» (некоего набора ПО, присутствующего в банке, который обслуживает банкомат) банкомат вообще ничего сделать не может. Существующие на рынке протоколы обмена данными между банкоматами и хостами очень минималистичны и с трудом способны поддержать действительно интерактивные сценарии. Вся «интерактивность» завязана на хостовое ПО.
Предложенный Вами вариант реализовывать едва ли кто возьмется — банкомат обычно не сильно в курсе о номиналах и количестве купюр в кассетах, и тем более не способен сам разбить запрошенную сумму на купюры. Он тупо передает счетчики с номерами кассет от своей аппаратуры на хост, деньги реально считают на хосте и отдают назад команду вида «ОК, выдать A купюр из кассеты B и C купюр из кассеты D».
Ну, во-первых, прецеденты реализации уже есть — Вы могли это заметить даже здесь в комментариях, а во-вторых — что мешает хосту получать то, что навводил пользователь, и решать соответственно?..
Прецеденты описывают гораздо более слабую функциональность, чем Вы предлагаете. Полномасштабный интерактивный выбор купюр, в общем случае, понизит и скорость работы и надежность всей схемы.
У Вас изложен вариант с вводом числа купюр. Но на хост не так просто передать 8 лишних чисел (и получить их обратно). Да, можно сделать вариант, чтобы самому кардхолдеру нажимать на кнопки и добавлять по одной купюре выбранного номинала, каждый раз пиная хост для пересчета числа купюр. Что тоже печально — ни я, ни Вы, наверное, не готовы ждать по паре секунд, набирая тысячу сторублевками.
Где у меня «ввод числе купюр»? У меня ввод суммы, которую я хочу получить купюрами. И да, я не знаю, насколько узок канал запроса хоста. Однако, насколько я понимаю, канал ответа как минимум позволяет сообщить банкомату, за один раз, сколько из какой кассеты купюр отдать. Уверен, что и в запросе что-то такое передать можно.
В протоколе, например, если мы говорим об NDC, есть ограниченное число нерезиновых строковых буферов, к сожалению.
То, что показывается на экране, и то, что происходит в результате команды на выдачу денег — это две большие разницы.
Состояние банкомата вообще обычно описывается стейт-машиной, у которой входных параметров для изменения состояний — самый-самый минимум.
Несколько раз в банкомате Альфа-банка одного известного банка видел пункт «С разменом». При запросе 5000 руб он выдавал 3*1000 + 2*500 + 10*100. Но потом эту функцию убрали, т.к. очень быстро кончались мелкие деньги. Если с утра по пути на работу можно было снять «с разменом», то вечером оставались одни пятитысячные купюры.
Если с разменом у меня проблем, обычно, не возникает (прошу выдать 4900, например, как уже писали выше), то вот с выдачей крупных сумм, хотелось бы предупреждение о номинале купюр иметь. Неоднократно бывало, что подходишь снимать тысяч 50 и банкомат, не предупредив, выдает тебе пачку тысячных, т.к. пятитысячные у него закончились.
Проблема в том, что всегда всем нужны мелкие деньги, а их много не загрузишь, инкасация банкоматов дело не из дешовых так, что врят ли в этом плане банкоматы пойдут на встречу.
Ну в плане крупных купюр сбербанк вопрос решил при сумме от 10000 у вас есть выбор получить размен или самые крупные купюры в банкомате. Думаю выбора мелких купюр не будет иначе им ничего не стоило прикрутить эту фичу и для мелких сумм, но при сумме меньше 10 000 опция не доступна, что как раз наводит на мысли, что 100 купюры популярны.
Возможность выбора номинала купюры в банкомате безусловно важна. С другой стороны, с долей вероятности можно сказать, что определенные купюры будут заканчиваться в разы быстрее, что приведет к тому, что n-я часть пользователей банкомата все-равно не сможет получить купюру нужного номинала( а очень часто и получения нужной суммы денег вообщем). Поэтому данная проблема обретет иную форму, но так и останется проблемой.
На этот счёт уже давно написана другая заметка — "Оптимизация размещения купюр в банкоматах", на которую я сослался. Умный банк, который сочтёт нужным иметь предлагаемую фичу, вряд ли будет так глуп, чтобы не заниматься расчётом предсказаний потребности в купюрах разных номиналов. Всё равно все банки и так этим занимаются.
Сам работаю в этой сфере. Размен и прочие вариации бывают. Но в первую очередь алгоритм выдачи настроен на оптимизацию выдачи. То есть больше выдач, меньше инкассаций. Потому что дополнительная инкассация это расходы. Если можно сделать удобнее клиенту не сильно повышая расход, делают.
Выбор номинала купюр в банкоматах