Как мы автоматизировали стрипушник на Walking street

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Есть у меня хороший друг. И есть у него одно очень замечательное свойство - он владелец русского стриптиз клуба на walking street ( кто не в теме это такая улица разврата и порока в Паттайе. 

И вот как то раз, сидя в его замечательном заведении, мы разговорились про особенности его работы. Жаловался что девочки постоянно скандалят из-за комиссионных, вечные склоки с кассирами и менеджерами которые забывают записывать ледидриньки, приват танцы и многое другое. Проявив заинтересованность выяснил как обстоит дело в его заведении. Гость, приходит в клуб. Девочки, подсаживаются к нему и далее начинается развод на ледидриньки, приватные танцы, в общем на все с чего девочка получает от клуба комиссионные и за счет чего клуб собственно и живёт. Обычно весь профит пилится 50/50. Учёт на какую девочку сколько гость потратил ледидрьньков, приватов, кальянов, стоп дэнсов ведёт администратор в бумажную тетрадь, куда прикалываются кассовые чеки за каждую так сказать услугу. Заказал гость для девочки пинаколаду - кассир пробил два чека, один в тетрадку, второй в стаканчик на стол гостю для дальнейшей оплаты.

Проблема в том, что к концу рабочего дня ( это часам к трём ночи ) большинство девчонок мягко говоря не трезвы, кассиры устают, менеджер тоже и не в состоянии уследить за 30ю столиками, чеки могут потеряться, могут не пробить, девчонки могут не правильно посчитать, и в конце недели при расчётах возникают "тёрки" - меня обманули, было больше, и т.д и т.п.

Хех, промелькнула мысль, а что если автоматизировать? Чтобы в момент пробития чека на кассе заказ автоматически капал на счёт девочки и чтобы в режиме реального времени можно было мониторить что начислили, какая комиссия, и сколько денег уже накапало на счёт! 

Предложил другу - тот загорелся. Давай, говорит, попробуем.

И так - есть задача. Сообщить системе что за столом номер X гостя обслуживает девочка Y и все чеки которые будут пробиты на этот стол должны записываться на её счёт. Самая первая идея - поставить кард ридер на каждый стол и чтобы девчонки прикладывали RFID карты к нему. Компьютер на котором висит программа кассы подключён ко всем кардридерам и “понимает” за каким столом кто “залогинился”… profit. Но столов 30 штук. Самые дальние в 15 метрах от кассы. Тянуть пачки проводов… не наш вариант. Так не годится. нужно что то на батарейке и автономное чтобы информация по воздуху шла. Как кнопки вызова официанта. Стали искать есть ли беспроводные считыватели RFID - ничего вменяемого за адекватные деньги не нашли. И потом,  карты будут терять, забывать… головняк. надо использовать что то что всегда человек носит с собой. Биометрика тоже не катит - дорого. Отпечаток пальца было бы идеально если бы были недорогие, надёжные беспроводные считыватели. 

И тут осенило - у всех всегда с собой телефоны. Надо идентифицировать телефон находящийся за столом X и от этого плясать. Стоп… а зачем нам идентифицировать телефон? Пусть телефон идентифицирует стол и сообщит об этом кассе! Размещаем на столе маяк Beacon. Программа, запущенная в телефоне, по BLE сканирует маяки, маяк с наиболее сильным сигналом будет ближайший, а значит телефон находится за одним с ним столом! Читаем его ID, отсылаем в кассу, касса сверяется с списком столов и понимает что наша  Y сидит за столом X. Все чеки пишутся на неё. Если за столом две девчонки - придут в кассу два сигнала и чек поделится пополам. Идеально. 

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

Предварительно все маяки проходят калибровку по сигналу чтобы не было перекрытий столов и даже если телефон находится у самого края стола сигнал своего маяки был значительно сильнее соседей. Идеально. Касса мгновенно начисляет бонусы, система и в приложении и на сайте мгновенно отображает комиссионные и истории заказов. Конфликтов больше нет. Открываем шампанское и всё такое. Продаём систему другим клубам в Паттайе и на Пхукете и безбедная старость обеспечена. Именно так это все и должно было бы быть в идеальном мире. Но к сожалению мы живём в реальном мире….

Ну и в чем мы прокололись и почему не взлетело? Во первых, блин, батарейка. Производитель обещал 1-2 года непрерывной работы, а по факту, уже через месяц батарейка просаживалась и маяк терял значительно в мощности, пошли ложные срабатывания, когда маяк соседнего стола с более свежей батарейкой оказывался сильнее родного. Пришлось вводить программу администратора чтобы тот мог в ручном режиме поправить стол и указать что X сидит именно за столом Y а не  Z. Во вторых оказалось что некоторые чехлы глушат BLE и телефон в чехле не видит ни одного маяка. Совсем. В третьих оказалось что даже телефон без чехлов может не ловить ни одного маяка если его держать в руке не правильно. А андроид при падении заряда батареи ниже 15 процентов любил снижать чувствительность приёмника и сигнал тоже не ловился, будто ни одного маяка нет в эфире. Самые беспроблемные оказались, ожидаемо, айфоны. Самые проблемные бюджетные андроиды и некоторые модели Samsung Galaxy. Ну а добило систему тот факт что девчонки довольно быстро просекли что могу подключаться к любому столу незаметно для гостей и администратора, даже если они с этими гостями не сидят. Постояла рядом 5 секунд и ушла. Для столов за которыми уже сидит девочка с гостем эту проблему решили просто - если вторая хочет подключиться к чеку этого стола - первая должна её заапрувить через приложение или кикнуть. Введение чата с техподдержкой через приложение тоже проблем не решило. Девочки тупили. Забывали включить блютуз, забывали включить вайфай, меню и промо акции грузились через медленный 3G потому что у клуба очень толстые стены и сигнал слабый очень..

Таким образом мы поменяли шило на мыло - роль администратора и как следствие человеческий фактор из системы мы не удалили. Нужен непрерывный контроль чтобы не было читерства. Конечно можно было бы научить систему следить чтобы телефон постоянно был в зоне действия маяка и аннулировать сессию если он исчез из эфира больше чем на, допустим 30 секунд, но в силу специфики работы, девчонки регулярно уходят на танцпол покрутиться на шесте и значит исчезать из эфира тоже будут регулярно. Ну а в феврале walking закрыли на полгода. 

Источник: https://habr.com/ru/post/525574/


Интересные статьи

Интересные статьи

Fernão de Magalhães’ Маршрут кругосветного путешествия в честь 500-летия с момента совершения кругосветного путешествия Фернаном Магелланом на карте OSM 1 | CMETOC | map data OpenStreetMap co...
История сегодня пойдёт про автосервис в Москве и его продвижении в течении 8 месяцев. Первое знакомство было ещё пару лет назад при странных обстоятельствах. Пришёл автосервис за заявками,...
Есть статьи о недостатках Битрикса, которые написаны программистами. Недостатки, описанные в них рядовому пользователю безразличны, ведь он не собирается ничего программировать.
Практически все коммерческие интернет-ресурсы создаются на уникальных платформах соответствующего типа. Среди них наибольшее распространение получил Битрикс24.