В этой большой статье я хочу рассказать о технической части современной торговли, попутно развеяв несколько обывательских мифов, сводящихся к одному слову «обманывают».

Информация будет полезной как желающим открыть свой магазин, так и интересующимся, что это такое пикающее и светящееся окружает кассиров с продавцами. Всё, приведённое здесь, касается крупных объектов уровня «супермаркет» и выше, разной направленности, но в упрощённой форме применимо к мини-маркетам и даже киоскам.

 

Основы и внутренняя часть магазина, недоступная покупателям

Штрих-коды и база данных

У каждого товара есть штрих-код, назначенный производителем – уникальная последовательность 13 цифр, выраженная в графическом виде при помощи последовательности линий разной толщины.
scode

13 цифр на штрих-коде однозначно соответствуют «палочкам», это одна и та же информация, выраженная в двух формах. Высота штрихов влияет лишь на простоту считывания (чем выше, тем меньшая нужна точность и меньше время считывания).

В базе данных конкретного магазина создаётся конкретное соответствие штрих-кода артикулу, описанию и цене. В случае весового товара штрих-код задаёт сам магазин: в коде зашифровано всё то же, что для обычного товара, плюс данные по весу.

 

Лайфхак: чтобы быстро узнать цену товара, сваленного в кучу, следует искать не по названию, а по 3-4 последним цифрам штрих-кода. Берём в руки пачку креветок, видим в конце 3319, ищем 3319 в конце штрих-кодов на ценниках.

Готовых баз данных не существует. У каждого магазина она своя. Как товары попадают в базу? Пока мы готовим магазин к открытию, начинается поставка. В базе ещё пусто, товар существует в виде ящиков, коробок, банок и товарно-транспортных накладных. Оператор берёт в руки товар, глазами или сканером считывает штрих-код, вносит его в программу. Программа автоматически подставляет артикул в формате, заданном заранее (например, 3 первые цифры – внутренний код магазина, 3 цифры – код группы товаров, 4 цифры – непосредственный код товара). Оператор вручную вносит наименование так, как ему вздумается. Поскольку чеки и дисплеи покупателя не безразмерные, наименования стремятся сокращать, от этого происходит много забавных казусов.

 

cenniki

Терминалы сбора данных

Для того, чтобы оператору не приходилось вчитываться в цифры каждого штрих-кода, существуют терминалы сбора данных (ТСД). Устройство представляет собой симбиоз сканера штрих-кодов и микрокомпьютера. На постсоветском пространстве особое распространение получило чудовище Франкенштейна из спичек и желудей КПК Palm Z22 и портативного лазерного сканера штрих-кодов.

palm

Если внимательно рассмотреть устройство, мы увидим: КПК приклеен к сканеру на термоклей, а вместо провода у сканера торчит верёвочка, украшенная заглушкой от штеккера сетевого кабеля RJ-45. Такое решение максимально бюджетно, но обладает неустранимыми недостатками: батареи КПК недостаточно для долговременного питания сканера, порт mini-USB ввиду частого дёрганья разбалтывается. Поскольку «Palm» — единственная надпись на устройстве, среди работников торговли ходит привычка называть любой терминал сбора данных «палмом». Данные со штрих-кода попадают в специальное ПО «наладонника». Обмен с компьютером происходит через USB.

Заводские решения в разы дороже, но эффективнее. Представляют собой КПК на Windows Mobile, оснащённые лазерным сканером штрих-кодов, множеством интерфейсов (в т.ч. беспроводными). Всё это добро упаковано в ударопрочный корпус. Стоит в 3-10-20 раз дороже «палма», заботливо склеенного вручную.
tsd

При помощи терминалов сбора данных производятся инвентаризации («переучёты»). Весь магазин или секция закрывается, операторы сканируют коды, вручную считают товар в зале и на складе, сверяют со значениями остатков в базе, рассказывают грустным продавцам и кассирам, сколько миллиардов недостачи придётся покрыть из собственного кармана.

Термопринтер для ценников и этикеток

printers

Маленькое или большое устройство, печатающее на термокартоне или самоклеящейся бумаге. Конкурирующие магазины регулярно наведываются друг к другу с целью спереть оптимальный формат ценника. Ценники могут печататься на обычном листе А4 обычным лазерным принтером и резаться ножницами.

 

Серверная часть

Ничего выдающегося. Как правило, несколько взаимодействующих серверов: СУБД (MS SQL, Oracle и т.д. — по настроению поставщика торгового ПО), сервер для касс, сервер собственно «программы», в которой через клиентскую часть сидят сотрудники. Всё это можно объединять, разделять и виртуализировать по возможностям владельцев магазина и требованиям к безотказности. Кроме торговых серверов, каждый магазин может быть оборудован дополнительными для контроля интернета, доступа в помещения, видеозаписи и т.д.

Мы наконец внесли весь товар в базу, расставили его по полочкам и снабдили ценниками. Пора открываться! Нет, нужно ещё что-то, что поможет официально продать товар покупателю.

 

Внешняя часть магазина, доступная каждому клиенту

POS

Сокращённо Point Of Sale, «торговая точка» — место, где свершается продажа. Упрощенно, касса с некоторым дополнительным оборудованием.

Касса и её составляющие: системный блок

pos

Никаких чудес, обычный X86-совместимый компьютер в компактном корпусе с некоторым набором специфических портов. Забудьте про USB 3.0 и беспроводные технологии, торговля отстаёт лет на 5-10, до сих пор в обиходе COM, LPT-порты и DIN, PS/2 клавиатуры. «Начинка» также не поражает воображение, для работы кассового ПО достаточно аппаратного обеспечения уровня Pentium III с 512 Мб оперативной памяти. Выбор операционной системы упирается в кассовое ПО, это может быть как Windows старых версий, так Linux или даже MS-DOS (да-да). Некоторую проблему создаёт проприетарность решений: при выходе из строя блока питания не получится быстро купить его в ближайшем компьютерном магазине. Такие комплектующие следует держать про запас.

С сервером системный блок общается посредством Ethernet (редко — WiFi), имеет статический IP-адрес и все сопутствующие переменные. Процесс отправки данных из базы в кассы называется выгрузкой. Различают полную и частичную выгрузку – соответственно, всей базы или только последних изменений. В некоторых торговых решениях при полной выгрузке касса «зависает» на несколько минут (зависит от объёма базы) и генерирует несколько крайне недовольных клиентов, потому в рабочее время строго рекомендовано применять только частичную выгрузку. В гипермаркетах многие слышали несинхронное «пиликанье», раздающееся со всех касс — так они сигнализируют об успехе выгрузки. Соответственно, загрузка – это передача данных из касс в сервер, что и сколько напродавали. Обычно производится по расписанию, можно инициировать загрузку вручную как с сервера, так и с кассы. Решения с полной синхронизацией «на лету» применяются там, где это востребовано, например, при передаче заказа на кухню в HoReC`е. В обычном магазине, как правило, такой нужды нет и занимать канал не за чем. Тем более, есть возможность загрузить/выгрузить данные по запросу.

Сканер штрих-кодов

Устройство, разработанное инженерами, а не айтишниками. Сканер – самодостаточный механизм, отдаёт не «сырые» данные, он умеет внутри себя интерпретировать штрих-код в последовательность символов и выдавать их в готовом виде.

Для компьютера это выглядит как дополнительная клавиатура, подключенная по USB или PS/2 в разрыв клавиатуры обычной, для экономии портов. Иными словами, можно подключить сканер штрих-кодов к обычному компьютеру, открыть Word (блокнот, да хоть Photoshop в режиме текста) и получить прямо в него данные со штрих-кода.

Поскольку стандартов штрих-кодов более одного, перед использованием сканер нужно обучить – показать ему серию кодов на бумажке. Первый код вводит сканер в режим программирования, последующие 3-5 задают стандарт, последний из режима программирования выводит. Пример списка кодов, которые нужно сосканировать для установки настроек по умолчанию:
scan_sbros

 

По методу сканирования различают светодиодные и лазерные сканеры (есть ещё на основе фотомодулей, у нас не распространены). Преимущества светодиодных – низкая цена, отсутствие движущихся частей (вращающейся системы зеркал, рисующей «сетку» или электромагнита, создающего из луча «полосу»). У лазерных, в свою очередь, выше разрешающая способность и скорость считывания.
scanners

По компоновке сканеры могут быть стационарными, портативными проводным и портативными беспроводными (Bluetooth, Wi-Fi).
scanners2
Логика выбора: чем мельче товар, тем удобнее стационарный сканер. К примеру, магазин торгует стройматериалами от канализационных труб и до свёрл, кассиру так или иначе придётся вставать с рабочего места для сканирования крупногабаритов.

«Пикает» не касса, а непосредственно сканер, это значит «код считан и распознан успешно». Звуковое оповещение сделано как для кассира, так и для покупателя.

Фискальный регистратор

Чековый принтер, оснащённый т.н. фискальной памятью.
fisk

Может печатать матричным способом или на термобумаге. Второй способ печати быстрее и тише, но дороже.

В чём суть фискальной памяти? Это память длительного хранения, к которой нет доступа у персонала магазина. То есть, если кассир, находясь в сговоре с администратором (старшим кассиром), после продажи проведут отмену, это отразится в фискальной памяти, которую не сможет исправить штатный программист, но когда-нибудь прочитает налоговый инспектор. На практике, конечно, существуют нелегальные способы обнуления и корректировки фискальной памяти. После «фискализации» (регистрации кассы в налоговой инспекции по месту расположения магазина) на чеке обязательно будет присутствовать пометка «фискальный чек (документ)» или стилизованная надпись «Ф_РБ».
check

Терминал безналичной оплаты (пластиковыми картами)

До распространения чипованных карт были решения со сканерами магнитной ленты, встроенными в клавиатуру, однако из соображений безопасности они не прижились.
term0

В настоящее время терминал – отдельное устройство, которому нужна лишняя розетка и лишний кабель Ethernet (позаботьтесь на стадии проектирования сети, чтобы потом не оснащать каждую кассу коммутатором). Сумма чаще вносится кассиром вручную, реже «подхватывается» из кассы. Видели, как кассир в ожидании держит палец над кнопкой «итог»? Кассовый чек можно выдавать только тогда, когда терминал дал отмашку «одобрено» и начал печатать свой, безналичный чек. В терминале может быть встроенный чековый термопринтер, может подключаться и внешний. Несколько лет назад были распространены терминалы с отдельным клиентским модулем (пинпадом).
term2

Теперь всё сводится к одному блоку, доступному и клиенту, и кассиру (кроме случаев физического разделения клиента и кассира, например, в валютно-обменном пункте).
term

N.B. Заключая договор на покупку и обслуживания терминалов, уточните, выдаётся ли «подменка» на время ремонта.

Монитор

Опять же, обыкновенный монитор с интерфейсом VGA.
mon
Как правило, уменьшенного размера (8-11 дюймов, разрешение 1024х768, соотношение сторон 4:3). Не смотря на миниатюрность, стоит дороже бытовых 15-22-дюймовых.
Разумеется, если позволяют габариты POS, лучше использовать монитор побольше, не у всех кассиров идеальное зрение.
mon2

Могут быть оснащены резистивной тач-панелью или доукомплектованы ей в процессе.

Занятный факт: за годы эволюции и распространения цветных мониторов интерфейс некоторых торговых программ остался чёрно-белым.
ukm

Клавиатура

Внутри это типовая PC-клавиатура, отличающаяся лишь раскладкой (цифровой блок и «стрелки» обычно совпадают).
kbd
Во многих кассовых клавиатурах есть гнездо PS/2 для того, чтобы айтишник не мучался, вспоминая особенности раскладки, а воткнул обычную клавиатуру и произвёл нужные действия без лазания под столом с целью проникновения к системному блоку.

Клавиатура оборудована механическим или электронным замком для разграничения прав доступа. Положений замка обычно 3-4 (касса заблокирована, кассир, администратор, программист). Все видели, как кассир обращается к старшему кассиру или охраннику, либо звонит по внутреннему телефону: «22-я, отмена!». Сотрудник, имеющий ключ с «повышенными правами», проводит отмену, сверив ситуацию с действительностью. С точки зрения механики замок устроен так, что в положениях администратора и программиста ключ не достаётся, то есть, без ключа администратор не уйдёт. Такой простой способ избежать баловства кассиров в личных целях. В случае электронного замка ключем выступает магнитная карта.

Дисплей покупателя

Выносной экран, дублирующий текущие позиции. Может быть как в стоечном, так настольном исполнении. Классические дисплеи покупателя имели две строки и отображали только что «пробитый» товар. Современные технологии позволяют выводить весь чек на монитор или адаптированный Android-планшет.
disp

Денежный ящик

Железный короб с отсеками для банкнот и монет. Запирается механически на ключ. Умеет откидывать крышку либо выезжать по сигналу с системного блока (нажатию кнопки «итог»).
den

Дополнительное оборудование POS

Транспортёр

Движущаяся лента, подвозящая товар к кассиру. Частично автоматизирован: кассир педалью включает движение, лента останавливается автоматически по пересечению товаром инфракрасного луча. Если положить что-то низкое, шоколадку или открытку, автостоп может не сработать.
transp
Кроме педали, из элементов управления есть «вперёд-назад» и громадная красная кнопка аварийного выключения (когда галстук покупателя затянуло в транспортёр).
transp2

Существуют дешёвые версии без оптопары, лента движется, пока нажата педаль.

Размагничиватели и магниты

В общем и целом, устройства для снятия/деактивации «антикражек». В случае антикражки с тросом (оборачивается вокрут узкого места товара) и «клипсы» (протыкает товар насквозь, например, одежду) кассир оперирует мощным магнитом.
magnit_anti

Одноразовые «антикражки» в виде наклеек размагничиваются на специализированной «плите», по которой кассир проводит несколько раз. Это простой электромагнит с питанием от сети 220В. Может быть как вынесен наружу, так и спрятан внутри.
magnit_anti2

То, что не касается POS, но присутствует в зале

Весы

Решения с весами на кассе не очень распространены, поскольку достаточно дороги и чувствительны к внешним раздражителям, хотя, несомненно, удобнее для клиента.
Пример весов, объединённых со стационарным сканером штрих-кодов:
vesy1

Иногда используется полумера: отдельные весы около кассы, способные только взвешивать. Кассир, сосканировав штрих-код весового товара, вручную вводит поправку на вес.
vesy2

Типовые весы торгового зала оснащены термопринтером и двусторонним дисплеем, который опционально может выноситься на стойку. Способны определять вес товара, с помощью оператора или пользователя соотносить его с наименованием и выдавать самоклеящийся стикер со штрих-кодом и прочими данными.
vesy3

Расходники, называемые термоэтикетками, могут быть как пустыми, так и с изначальным изображением, в т.ч. в цвете.
termo

 

Поскольку сканера штрих-кодов в весах нет, а вводить 13 цифр со штрих-кода каждый раз муторно, введено такое понятие, как PLU – Price Look-Up. Это короткий, до 5 символов, цифровой код конкретного товара, например: 119 — печенье с цукатами, 4153 — палтус замороженный. Внося весовой товар в базу, оператор генерирует PLU и в распечатанном виде выдаёт список продавцу.
plu

Иногда из-за действий оператора PLU кардинально меняются, продавцам приходится переучиваться.

В случае весов самообслуживания они оснащаются большим клавиатурным блоком. Каждая клавиша вводит нужное PLU в весы по одному нажатию. Соответственно, на клавише подписан и (или) нарисован товар.
vesy4

Весы торгового зала программно (на сервере) разделены на группы (мясо, рыба, овощи-фрукты, заморозка и т.д.). Сделано это для того, чтобы не перегружать каждые весы избыточной информацией и не тратить время клиента на ожидание.

С сервером весы связаны посредством Ethernet. В постоянном соединении необходимости нет, можно разово подключить весы, «прогрузить» их списком товаров/PLU и отсоединить до следующих изменений.

Прайс-чекеры

Или коробочки «узнай цену».
checkers

Симбиоз лазерного или светодиодного сканера штрих-кодов, дисплея покупателя и сетевого интерфейса (Ethernet либо WiFi). Устройство достаточно примитивное, требует постоянного соединения. Работает так: на сервере есть специальная папка, где в упрощённом виде находится база товара в формате «штрихкод – наименование – цена». Вся база слишком объёмна для прайс-чекера, да и не нужны ему ни наценка, ни история переоценок, ни артикулы. К тому же, очень сильно выросла бы нагрузка на сервер.

Сосканировав код, прайс-чекер посылает серверу запрос, сервер даёт ответ, например, «Колбаса сырок. Еврейская, 172500». Обратите внимание на слова «отдельная база», она создаётся периодически, к примеру, раз в час, либо по требованию оператора, то есть может отставать от действительности.

Современные прайсчекеры, оснащённые большими цветными дисплеями, помимо основной информации прокручивают рекламу в режиме простоя.
checkers2

На этом всё, мы открылись, начали торговать, с первыми довольными клиентами посыпались и недовольные.

 

Типовые способы «обмана» покупателей, или о несовершенстве систем и человеческих факторах

— На ценнике 5600, на кассе 6100, воруете!
Восстановим хронологию. Оператор внёс данные о переоценке в базе, напечатал новые ценники, подписал их. После нажатия кнопки «выгрузить» через 2-3 секунды в кассе уже будет новая цена. Даже если оператор галопом побежит в зал менять ценник, существует ненулевая вероятность, что переоценённый товар будет схвачен покупателем.
Решение проблемы очень дорогое (примерно как теплоход Рихард Зорге), это ЖК и e-ink-ценники, значения которых меняются синхронно с ценой.
cenniki_hitech

Можно, конечно, использовать двух операторов и рации. «Алё, второй, я выгрузила, меняй срочно, приём!». 🙂


— Два раза пробили сосиски, воруете!

Ситуация двоякая. Может быть как сговор персонала, так и человеческий фактор. Представьте себе рабочий день кассира: один товар в секунду, 60 товаров в минуту, 36 ТЫСЯЧ товаров за 10-часовую плотную смену (у нас условный Новый Год и аншлаг). Рука может дрогнуть, сканер считает штрих-код дважды. Внимательно слушаете количество «пиков» сканера и сверяйте чек, не отходя от кассы.

— Я насыпала себе арахиса, на кассе пробили как дорогущие фисташки, воруете!
Помните про PLU? Помножьте это на специфику работы продавца. После пары часов за весами вполне можно вбить 1122 вместо 1123. Или же 2 недели продавец бил арахис с одним кодом, тут оператор «постарался» и PLU поменялось, по привычке вводится старое.

— Ваша пикалка сказала 1200, кассир говорит 1300, воруете!
Ситуация точь в точь как с ценником. Прайс-чекер получает данные позже кассы.

 

Выводы?

Внимательно читайте чеки, стикеры и ценники. Магазины неплохо зарабатывают на надбавке, собственном производстве, доп. услугах и субаренде, у них нет прямой цели кинуть вас на два цента переоценённого батона.

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