Софт для пиццерии (практика, мысли, идеи и просьба о помощи)
** Что-то вроде предисловия **
Имеется: Delivery пиццерияЗадача: Максимально автоматизировать внутренние процессы
Естественно первый этап на пути автоматизации и ускорения — софт по приему заказов от клиентов. Изучив аналоги на рынке я понял что все что имеется — полное говно, хотя нет, вру. Есть 1 более менее достойная программа, но стоит правда более 150 тыс. Остальные стоят гораздо дешевле, но основная их проблема в том, что они не заточены именно под наши нужды, а многие вопросы с помощью них вообще невозможно решить. Именно поэтому было принято решение создавать софт с нуля.
Первую версию программы решено было писать на VBA, т.к ее необходимо было сделать быстро + неимение средств очень способствовало к этому =) Да и очень остро стоял вопрос, на каком языке ее писать вообще? Что это будет в итоге?
Софт на Excel + VBA
Ну чтож, сказано — сделано =)Показываю скрины полностью рабочего софта написанного на Excel + VBA:
Главное окно программы: kaincq.ru/i/7ade78.png
Прием заказа: kaincq.ru/i/9a3930.png
После приема заказа печатался следующий бланк: kaincq.ru/i/7869a5.png
Программа так же вела статистику по продуктам, проданным пиццам/напиткам и полностью сводила кассу. Имела черный список и определяла район в зависимости от набранной улицы. Онлайн контроль и удаленный доступ был решен перенесением программы на Гугл.Диск, в результате чего можно было постоянно знать полную статистику через интернет.
После написания софта практически сразу стали видны и недостатки данной программы, и все они сводились к тому, что это все таки Эксель блеааа!!! Например реализовать автоподстановку адреса исходя из номера телефона (сверить номер в базе и при совпадении вытащить старый адрес) было крайне сложно. А когда кол-во строк в базе перевалило за 5к стали всплывать и другие проблемы, но благо это был временный вариант и к этому моменту мы уже практически закончили написание нового софта.
К моменту написания нового софта мы уже имели полное представление как будет выглядеть полный комплекс ПО для нашей пиццерии. Но вопрос на чем же писать этот софт стоял все так же резко, после долгих рассуждений мы приняли решение писать клиентскую часть на node-webkit, а сервер на Питоне.
Софт на node-wekit
Собственно скрины нового софта =)Модуль приема заказов: kaincq.ru/i/14d214.png
Модуль курьеров: kaincq.ru/i/080ea3.png
Всего софт состоит из 3 модулей (Прием заказа, Курьер, Кухня). Прием заказов полностью справляется со своей задачей и на данный момент по нему ведутся скорее косметические улучшения. У курьеров стоит отдельный моноблок где они видят текущие заказы и распределяют их между собой, данный модуль сейчас тестируем. Модуль для кухни хотим запустить в ближайшее время, он позволит сразу же после принятия заказа оповещать об этом кухню. Моноблоки/модули между собой общаются через локальную сеть/порты и просмотр статистики через интернет к сожалению не доступен =(
** Ради чего это все писалось **
На данный момент запланирована последняя перепись данного софта, следовательно хотел бы с вами посоветоваться в этом, заодно может быть и исполнителя нашел бы.Сам софт будет состоять из нескольких тесно связанных между собой модулей (прием заказов, курьеры, кухня и тд.)
- Все модули должны моментально обмениваться между собой информацией
- Полная статистика должна быть доступна через интернет
- Синхронизация между 2 удаленными точками, например прием звонков осуществляется в 1 месте, а распределение заказов происходит на 2 пиццерии в разных районах города
Как вы видите себе данный комплекс ПО?
На чем бы писали?
P/s Все те, кто заинтересуется в написании данного софта, пишите на почту [email protected] с указанием своей цены за месяц работы.
35 комментариев
По поводу архитетектуры самого приложения: тонкие клиенты(можно веб-морду)+сервер прлиожений+бд, это изначально решит проблемы синхронизаций. А также отпадет нужда в обмене информации между модулями, она вся хранится в единой БД, а ее интерпритация — задача уровня сервера приложений. Единственный недостаток — зависимость от каналов связи, но эта проблема возникнет в любом случае при наличии 2 удаленных точкек, конечно это тоже решаемо, в том числе не только за счет резервирования каналов связи, но и программно, но я так понял бюджет ограничен.
По поводу на чем писать: да практически без разницы. В топике шла речь о питоне — неплохой выбор:
— норльно написанный код хорошо поддерживается
— быстро прототипировать
— куча готовых модулей, почти на все случаи жизни
— не сильно дорого
Но просто из топика не совсем понятно что хочется полчить в итоге. К чему это я. Как бы смешно это не звучало, 1С может оказаться лучшим выбором для поставленных задач. Но это как я себе представляю конечный функционал ИС, к тому же не сильно накладно получится.
Для подробного ответа на этот вопрос требуется больше данных о решаемых этой ИС задачах и сущностях, которыми она оперирует.
Из того, что я видел, могу отметить только веб-расширение для 1С, которое обладает настолько примитивной функциональностью, что ему вообще трудно найти хоть какое-то практическое применение, не говоря уже о решении таких задач, как создание событийно-ориентированного http-сервера.
Сейчас все больше склоняюсь написать вообще веб-приложение, вся работа с софтом будет строиться на открытии браузера, но стоит 2 вопроса:
— Где найти безотказный хостинг?
— Как работать при отключении/падении интернета
Вкратце напишу что должен делать софт в целом, но могу и что-то упустить:
Модуль «Прием заказов»
— Максимально автоматизировать прием заказа
— Самостоятельно вытащить номер звонящего и подставить в соответствующее поле [?]
— При наличии номера в базе предложить варианты адресов доставки
— Контролировать проводимые акции (например сок в подарок пн-чт с 10:00 до 17:00)
— Контролировать правильность заполнения заказа (к каждой пицце бесплатный соус)
— Помогать оператору правильно принимать заказ/подсказывать
— Распределять заказ между пиццериями
— Распечатать заказ
Модуль «Курьер»
— Грамотное распределение заказов между курьерами
— Графическое отображение заказов для более выгодного и легкого построения маршрута
— Ведение статистики по курьерам (кто какую пиццу повез, кол-во опозданий за n дней и тд.)
— Расчет курьеров
Модуль «Кухня»
— Моментальное информирование кухни о поступившем заказе
— Привязка онлайн заказа с сайта напрямую к кухне
— Сведение ошибок к минимуму при заметках клиента (пицца без грибов)
Естественно должен быть полный контроль и ведение статистик через интернет. Для более лучшего восприятия в виде графиков (наиболее популярные пиццы, средний чек, самое большое кол-во заказов и тд)
localstorage
Ну а теперь по пунктам:
Пример хорошего безотказного хостинга — Amazon Web Services.
При отключении/падении инета самым дешевым будет резервный канал через 3G, программно реализовать распространенную ИС выйдет очень дорого.
Вытащить номер звонящего — интеграция с АТС в коллцентре, можно вообще перейти на софтфоны
Ну а вообще, по списку задач, нужна практически полноценная ERP-система с CRM-модулем. Только стоить такое будет больше 150к, озвученных в топике, в несколько раз.
Кстати, может быть кто-то знает нормальный софтфон? =)
Это при открытии у нас не было 150к и не рационально тогда было использовать средства на софт, сейчас можно выделять ежемесячно n тыс. на софт
Я не особенно знаком с этим бизнесом и мне непонятно, зачем голосом предлагать клиенту адрес, если он его всё равно назовёт? Вы не сможете знать все адреса, где может оказаться в момент звонка ваш покупатель (друзья, работа, какое-нибудь тайм-кафе). Такой подход может иметь право на жизнь при заказе из интернета, когда в личном кабинете можно хранить адреса подобно тому, как это делает пэйпал, но при общении голосом ценность такой возможности на мой взгляд сомнительна.
В чём заключается контроль? Можно же просто автоматически добавлять в заказ некую позицию.
Какого рода подсказки?
это несложно, если распределить между пиццериями зону ответственности по географическому принципу, направляя заказ в ближайшую точку. дополнительно можно учитывать текущую загруженность, которая может иметь больший приоритет над географией.
Насколько я понимаю, тут нужно сформировать оптимальный маршрут для каждого из курьеров, исходя из имеющихся заказов, которые нужно распределить между ними. В этом поможет апи картографических сервисов и обратный геотаргетинг.
Вероятнее всего, довольно быстро возникнет надобность в модуле учёта и закупки продуктов, а также решающем мелкие логистические вопросы.
За счет чего? Все просто, если звонит клиент который уже есть в базе (высвечиваются его старые адреса), то такому клиенту можно не перечислять соусы для пиццы, он уже итак их знает, напитки в ассортименте и прочие мелочи + огромное кол-во времени тратилось на правильное вбивание адреса. Сейчас же оператор просто говорит доставить заказ на Веспремскую 7 или на Ленина 60?
Тут мы предпочли не отдавать все права системе, это лишь помощник для курьеров. И как показала практика достаточно графически выводить заказы на карте, далее человек сам простаивает себе оптимальный маршрут. Но не менее важной ф-ей данного модуля является статистика по курьерам.
Все верно =) Но в приоритете данные модули
У меня есть предварительные планы на второй квартал следующего года по софту для пиццерий-суши, стандартная трёхзвенная архитектура, веб-приложение. Но планы предварительные, возможно в начале года рыночный ветер подует в другую сторону и для реализации будет выбрано несколько иное направление. Теоретически можно объединить усилия полностью или в какой-то части.
Насколько я понимаю, в Курске что-то подобное уже делается и другими людьми, в том числе присутствующими здесь. Если я не ошибся, то они отпишутся здесь.
Node-webkit можно запустить как на Windows, так и на Android, iOS. Хотели что бы клиентские приложения имели свою БД на том устройстве где установлены и с глобальной БД синхронизировались через интернет. При падении интернета, все модули внутри пиццерии работали бы через локальную сеть, а при возобновлении интернета отправляли бы свежие данные в глобальную БД.
Но к сожалению с этим возникли трудности при написании, возможно не хватило опыта и знаний =)
В условиях, когда система должна сохранять работоспособность без связи с другими узлами, достаточно лишь одного общего веб-сервера и хранилища в точке внедрения, все локальные клиенты смогут работать с ними.
Ему вроде нужна помощь в написании софта, но он предлагает указывать стоимость работы за месяц (он что, работника за зарплату на это дело ищет?).
И что в конечном итоге требуется: переписать имеющийся софт или написать новый?
Какие требования к разработчикам, срокам, технологиям?
Да, на данный момент хочется собрать команду для написания такого софта
Эти действия позволят получить предварительное представление о том, что нужно получить в итоге, а также примерно оценить затраты и трудозатраты, и поможет выбрать конкретные технологии и решения.
— два веб-приложения с единой базой. Одно для клиентов, второе для администраторов
— Ruby on Rails
Зачем в пользовательское приложение тянуть функции, которые используются в административной части?
Я не говорю, что каждый раз нужно писать отдельное приложение для администрирования, вовсе нет. Но тут мне это кажется уместным.
Я понимаю, что это вопрос риторический, но я ставлю здесь под сомнение саму необходимость содания двух отдельных приложений, поскольку это может увеличить стоимость сопровождения готового решения.
Мсье, добавьте конкретики, внесите ясность.