Содержание
- 1 Регистрация личного кабинета
- 2 Вход в личный кабинет
- 3 Мобильное приложение
- 4 Чем отличается учётная запись сотрудника
- 5 Информация о пиццерии
- 6 Регистрация
- 7 Преимущества у зарегистрированных и сотрудников
- 8 Способы оплаты заказов
- 9 Как зарегистрировать личный кабинет
- 10 Как войти в Личный кабинет Додо Пицца
- 11 Что доступно в Личном кабинете
- 12 Как отследить заказ
- 13 Личный кабинет работника, в чем отличие
- 14 Что такое бэк офис Додо Пицца
- 15 Графики смен для курьеров
- 16 Контролируем цели по производительности
- 17 Учитываем возможности курьеров
- 18 Отчёты
- 19 Считаем итоговые потери ингредиентов
- 20 Помогаем при первой закупке
- 21 Рассчитываем себестоимость продуктов
- 22 Профиль пользователя
- 23 В Вельске продаём только два вида пицц
- 24 Принимаем промо-коды через мобильный сайт
- 25 Контакт-центр
- 26 Подсказки для операторов
- 27 Считаем производительность операторов
- 28 Удаляем подарки из корзины
- 29 Управление доставкой
- 30 Публичные экраны
- 31 Стоп-продажи
- 32 Международная сеть
- 33 Создали табло выдачи заказов для Китая
- 34 Собираем базу е-мейлов зарубежных клиентов
- 35 Команда Dodo IS:
- 36 Dodo is
- 37 Стек технологий
- 38 Архитектура Dodo IS
- 39 Будущее в микросервисах
- 40 Наш фокус сегодня
- 41 Какая у нас инфраструктура
- 42 Как мы работаем
- 43 IT – это и есть бизнес
- 44 Инженерная культура
- 45 Командная работа
- 46 Поток создания ценности
- 47 О какой части Dodo IS вам бы хотелось узнать в следующей статье?
Для упрощения процесса работы с сотрудниками разработчики фирмы создали информационную систему Додо ИС. В настоящее время с её помощью работают больше 470 ресторанов Додо в различных странах по всему миру. Причем сервис продолжает развиваться. Для получения полноценного доступа к функционалу сайта компании Додо ИС требуется зарегистрировать личный кабинет.
Регистрация личного кабинета
Регистрация аккаунта сотрудника происходит при приеме на работу. Данные для входа человек получает от руководства.
Новый сотрудник должен заполнить анкету с указанием таких данных:
- телефонного номера для получения SMS-сообщения с кодом подтверждения;
- фамилии, имени и отчества;
- даты рождения.
Вход в личный кабинет
Авторизоваться в системе можно с помощью сайта либо приложения. Большинство пользователей отдают предпочтение мобильному приложению. В настоящий момент почти в 70% случаев вход в аккаунт осуществляется через смартфон.
Чтобы войти в персональный аккаунт Додо ИС, нужно следовать такой инструкции:
- Перейти по ссылке https://personal.dodopizza.ru/LogOn.
- Ввести логин и пароль, которые были предоставлены сотруднику в процессе принятия на работу.
- Нажать «Войти».
Теперь можно пользоваться полным функционалом личного кабинета.
Важно! При возникновении проблем с доступом к персональному аккаунту следует обратиться за помощью к оператору горячей линии в телефонном режиме. Также можно отправить сообщение на сайте компании.
Мобильное приложение
Вне зависимости от места работы потенциального пользователя, предоставляется возможность использования персонального профиля с помощью официального сайта либо мобильного приложения. Авторизация на сайте происходит стандартным способом, а вот использование учётной записи через приложение имеет некоторые особенности.
Изначально необходимо скачать программу на мобильное устройство. Стоит заметить, что установка мобильного приложения возможна исключительно на телефоны или планшеты, поддерживающие операционную систему iOS или Android. Чтобы приложение работало правильно, рекомендуется использовать устройства, которым не больше 6 лет, во избежание проблем с программным обеспечением. Кроме того, рекомендуется систематически обновлять программу.
Чем отличается учётная запись сотрудника
Персональный аккаунт на портале Додо ИС могут зарегистрировать все сотрудники организации. После регистрации личного кабинета сотрудникам предоставляется возможность занесения своих пожеланий относительно рабочего графика, получения выходных.
Менеджер смены просматривает оставленные пожелания и использует их для составления полноценного графика для сотрудников организации. В персональном аккаунте для работников предусмотрено рабочее место с публичной страницей для каждого сотрудника. Там указаны его персональные данные, а именно ФИО и контакты для связи. Это полезно в том случае, если кто-то из работников не вышел на работу по болезни и его требуется заменить.
Такое своеобразное рабочее место позволит менеджеру не заниматься поиском контактов. Вся информация будет видна после входа в персональный аккаунт.
На сервисе каждый сотрудник может посмотреть, когда истечет срок действия медицинской и санитарной книжки. Это помогает облегчить задачу для менеджера смены по выявлению работников, которым нужно пройти проверку.
Используя персональный профиль на сайте Додо ИС, сотрудники пиццерий отмечаются во время прихода на работу. Руководитель смены жмёт на кнопку с надписью «Открыть смену» возле конкретного работника, теперь он находится в распоряжении менеджера и направляется на одно из рабочих мест. Стоит заметить, что все работники ресторанов Додо являются универсалами. Они могут заниматься изготовлением пиццы и нарезанием продуктов.
Важно! Сотрудники в личном кабинете Додо ИС могут оставить отзыв, пожелание или жалобу относительно работы. Сообщения могут быть публичными или анонимными.
Информация о пиццерии
Пиццерия Додо является одним из любимых мест посещения многих людей. Представительства фирмы есть как на территории РФ, так и за пределами страны. В состав данной торговой сети входят больше 300 пиццерий, расположенных в 11 государствах, в том числе в России. Почти в каждом крупном населённом пункте РФ есть представительство Додо. Компания обеспечивает клиентов довольно разнообразным меню, включающим как классическую пиццу, так и горячую продукцию, закуски и даже сладости.
Большая часть людей предпочитает Додо Пиццу, чтобы просто отдохнуть или провести время, а также насладиться вкусной и сочной пиццей, содержащей качественные ингредиенты. На улицах больших городов (областных центров или мегаполисов) можно заметить промоутеров, раздающих флаера про волшебные кусочки пиццы за несколько десятков рублей, при этом, напитки могут идти в подарок. Пиццерия Додо в последние годы набрала достаточно большую популярность.
Многие сотрудники пиццерии Додо восхищены приятными и позитивными эмоциями от работы, а также от того, что здесь предоставлено множество вкусных блюд на обед во время рабочего процесса.
Регистрация
Для осуществления процесса регистрации необходимо установить приложение. Скачать его можно с Play Market, либо App Store, в зависимости от операционной системы мобильного телефона клиента или сотрудника. Для регистрации как клиента понадобятся такие данные:
- Имя;
- Фамилия;
- Отчество;
- Мобильный телефон;
- Почтовый ящик.
Стоит отметить, что при осуществлении заказов можно получать определённые баллы. Этими баллами можно и рассчитываться. То есть, своего рода получается скидка.
Преимущества у зарегистрированных и сотрудников
Стоит обозначить, что у зарегистрированных пользователей, которые часто посещают данное заведение, либо же в нём работают, есть возможность пользоваться целым рядом привилегий:
- Скидки на пиццу;
- Акции;
- Бонусы;
- Подарочные сертификаты.
Помимо вышесказанного, можно воспользоваться и подарочным сертификатом на День Рождения. С помощью личного кабинета можно отследить количество набранных баллов, периоды акция и скидок, а также каким образом можно получить подарочный сертификат.
Работнику пиццерии важен ещё и его рейтинг, который также отслеживается через ЛК. Сотрудникам стоит обращать внимание на свои рейтинги, поскольку именно они и влияют на имидж заведения. Нужно понимать, что из–за низких рейтингов пиццерии присутствуют риски лишения франшизы.
По отношению к клиентам администрация заведения и владельца прорабатывают различные системы скидок, подарков, акций и бонусов. А для сотрудников – конкурсы. При участии в конкурсах можно выиграть бесплатный обед или ужин, а также какие–либо напитки в подарок.
Подарочные сертификаты могут выдаваться и на семью, а также, если клиенты приходят парой провести свидание и насладиться обстановкой.
В личный кабинет сотрудника могут приходить такие сообщения от руководства:
- Организация столов;
- Проведение массовых мероприятий;
- Меры предосторожности;
- Охрана труда;
- Встречи и собрания;
- Тренинги.
Способы оплаты заказов
Стоит отметить, что способы оплаты могут быть разными. Расчёт может производиться как наличными средствами, так и по безналу. К личному кабинету можно привязать и свою банковскую карту на случай осуществления заказов с доставкой на дом.
Для того, чтоб сделать заказ, необходимо в каталоге выбрать блюдо или пиццу. При выборе могут предлагаться различные ингредиенты, а также соусы. Оплата производится либо сразу по безналу, либо же расчёт можно произвести деньгами уже с курьерами.
Сеть заведений «Додо Пицца» работает с надёжными транспортными компаниями, которые довезут заказ в нужный срок.
Для чего нужен личный кабинет Додо Пицца? Как войти в свой личный кабинет, можно ли отслеживать заказы, используя личный профиль? О таких, в общем, то вопросах и предстоит сегодня поговорить.
Для начала давайте вспомним некоторые детали, касающиеся сервиса Додо Пицца. Это сеть пиццерий хорошо распространенная не только в России, но и за рубежом. В «арсенале» компании более 300 ресторанов в 11 странах, включая РФ. Практически в каждом более менее большом городе России имеется ресторан Додо. Сеть представляет клиентам достаточно разнообразное меню, включающее не только классические пиццы, но и закуски, горячие блюда и даже десерты. Да и выбор напитков тоже довольно большой. С помощью различных сервисов, к которым можно отнести мобильное приложение, компания смогла оптимизировать работу не только своих сотрудников, но и позволила облегчить заказ для клиентов.
Как зарегистрировать личный кабинет
Не зависимо от города, будь то Москва или любой другой населенный пункт, каждый клиент имеет возможность зарегистрироваться через сайт или мобильное приложение. Что касается сайта, то все более чем понятно, однако с приложением ситуация сложней. Для начала его нужно скачать, а тут есть нюансы. Программу можно установить только на современные смартфоны или по желанию на ПК. Для установки подходят смартфоны на базе «Android» и «iOS». Для корректной работы подойдут телефоны с возрастом не старше шести лет, чтобы не возникало конфликтов ПО. Также советуем регулярно проводить обновления программы.
Что касается самой регистрации, от вас потребуется указать следующие данные:
- Номер телефона (на него придет код подтверждения).
- ФИО.
- Реквизиты карты для оплаты по безналичной системе.
- Указать адреса, на которые планируется заказывать еду (можно сделать шаблоны, к примеру, дом, работа).
Вводя эти данные в приложении или на сайте, подтверждая их, регистрация в Додо Пицца может считаться завершенной.
Как войти в Личный кабинет Додо Пицца
Возникли проблемы с входом в свой профиль, обратитесь на «горячую линию по телефону или отправьте сообщение по указанным контактам на сайте.
Вход в Личный кабинет Додо Пицца осуществляется, как уже говорилось через сайт или же через приложение. В плане комфорта и удобства, клиентам, конечно же, удобней использовать мобильное приложение. Поэтому на сегодняшний день более 67% всех заказов, оформляются именно в электронном режиме, причем с использованием смартфона. И как показывает практика, в дальнейшем такая тенденция будет только расти.
Для входа в кабинет после регистрации от клиента потребуется ввести только свой номер телефона, далее придет код в СМС оповещении, который необходимо ввести в соответствующем «поле». После этого доступен весь имеющийся интерфейс для работы.
Что доступно в Личном кабинете
В личном кабинете Додо Пицца независимо от того, через какое устройство в него вошли, представлен достаточно обширный перечень опций и функций, доступный для рядового клиента. Можно выделить основные функции доступные там:
- Отслеживание заказа, как готовится еда, где находится курьер и т.д.
- Видео трансляция, очень интересное решение со стороны руководства Додо Пицца в качестве поддержки своей компании. Клиенты гораздо чаще доверяют компаниям, которым могут представить доказательство производства продукта, в нашем случае, речь идет о кухне, где готовиться еда. Таким образом, каждый клиент может, нажав парочку клавиш словно переместиться в ту атмосферу, и посмотреть, как готовится именно его заказ. Так как просмотр трансляции доступен для каждого ресторана, достаточно выбрать только подходящий для вас.
- Заказ еды с удобным интерфейсом и интуитивно понятным меню, с четким разделением блюд по категориям.
- Выбор позиций из отдельного акционного меню, блюд с пометкой «акция».
- Обращение в поддержку. На удивление, сотрудники довольно оперативно реагируют на сообщения.
- Изменение личных данных, указание шаблонов: «Дом», «Работа» и т.д.
Как отследить заказ
Сложно ли отследить заказ? Нет, настройки достаточно простые, от клиента требуется только перейти в соответствующий раздел. Если желаете отследить заказ с телефона, то переходите в раздел «Профиль». Кстати, после оформления и принятия заявки, система автоматически откроет соответствующее меню. Поэтому если вы случайно закрыли «окно», теперь знаете, как снова его открыть.
Что касается пользователей с ПК, то для них отслеживание доступно в разделе «Контакты». Не забывайте выбирать свой ресторан, в котором оформляли заявку. Справа внизу от видео трансляции, будет отмечаться текстовая распечатка, какая пицца в данный момент готовится, находится в печи и т.д.
Если возникли вопросы, всегда можно обратиться за помощью к менеджеру.
Личный кабинет работника, в чем отличие
Личный кабинет работника Додо Пицца позволяет каждому сотруднику оставлять свои пожелания по графику работы, когда он желает получить выходной и так далее. После чего, на основания оставленных пожеланий, менеджер смены составляет полноценный график для всех работников ресторана. Там же в кабинете устроено что-то вроде рабочего места, где каждый работник имеет свою публичную страницу, на которой отображается его ФИО и контактные данные для обращений. Это помогает в тех случаях, когда один из сотрудников заболел и ему нужно найти замену, нет необходимости искать контакты, достаточно открыть свой профиль и все номера для связи видны.
Кроме того, в системе у каждого работника отображается количество дней до истечения сроков действия медицинских и санитарных книжек. Поэтому такая опция облегчает задачи менеджеру смены по отслеживанию сотрудников, подлежащих проверке.
С помощью личного кабинета Додо Пицца сотрудник отмечается в начале рабочего дня, менеджер смены нажимает клавишу «Открыть смену» напротив определенного сотрудника, после чего он поступает в его распоряжение и может быть направлен в одну из категорий. К слову сказать, именно поэтому все сотрудники в пиццерии универсальны и могут быть, как пиццамейкерами, так и сотрудниками по нарезке заготовок.
Кстати, ещё одна важная деталь в работе личного кабинета Додо Пицца сотрудника, это возможность оставлять отзывы, пожелания и жалобы о работе, как в публичном виде, так и анонимно.
Со всеми деталями и возможностями работы кабинета, можно ознакомиться по ссылке — http://sila-uma.ru/2014/11/03/dodo_is_2014_part_2/. Это официальный блок компании Додо Пицца.
Что такое бэк офис Додо Пицца
Бэк офис Додо — это система объединяющая производство еды, всех работников, отчетность. По сути, офис это некая архитектура планирования всей работы пиццерий с помощью автоматизированных систем. Главенствующую роль в бэк офисе каждого ресторана Додо Пицца имеет менеджер смены, занимающийся определением графиком работы, продолжительности смены, а также отвечающий за обеды работников и организацию работы в целом.
Подробная информация о работе модульного бэк офиса, находится по ссылке, оставленной в разделе выше.
Информационный, неофициальный сайт
Вне зависимости от города проживания все клиенты Додо Пицца могут зарегистрироваться на сайте или в официальном мобильном приложении.
В правом верхнем углу официального сайта (dodopizza.ru) есть специальное поле «вход». После нажатия на него, вам потребуется указать номер своего мобильного телефона, на который придет СМС с кодом. Этот код необходимо ввести, нажав на кнопку «Ввести код». Так вы войдете в личный кабинет Додо Пицца.
В кабинете вам станут доступны многие функции, которыми не может воспользоваться обычный пользователь.
- Дополнительные контакты службы поддержки, а не только общий номер телефона для всех.
- Возможность заказывать блюда из специального акционного меню, в котором отмечаются все предложения с пометкой «акция».
- Вход в личный кабинет Додо Пицца также даёт возможность полностью отслеживать свой заказ на всех стадиях, какой вы в очереди, стадия приготовления, местонахождение курьера.
- Возможность использовать различные шаблоны, указывая разные адреса, если вы заказывается пиццу не по одному адресу.
Обязательно выбирайте в личном кабинете конкретный ресторан, из которого вы хотите сделать доставку. У вас будет возможность в режиме онлайн наблюдать за работой сотрудников, ведь камеры установлены во всех пиццериях.
В личном кабинете можно сразу указать свои ФИО, номер телефона, адреса доставки и реквизиты карты для оплаты. Эта информация вводится лишь один раз, так что нет необходимости указывать её при каждом заказе.
Не забудь поделиться информацией с друзьями!
В 2016 году мы поставили цель — увеличить прибыльность пиццерий. Это значит, мы должны создать в «Додо ИС» инструменты, которые помогут партнёрам развивать маркетинг, снижать потери на производстве, увеличивать эффективность работы.
Графики смен для курьеров
Контролируем цели по производительности
Графики смен в «Додо ИС» помогают рассчитывать оптимальное количество сотрудников на смене, добиваться целей по производительности и таким образом снижать затраты на оплату труда.
Система прогнозирует производительность курьеров. Для этого она рассчитывает среднее количество заказов на каждый час за последние три недели. А ещё рекомендует количество курьеров, которые смогут справиться с этим потоком и при этом добиться высокой производительности.
«Додо ИС» подсказывает, добились мы цели или надо перестроить график.
Поставим цель: 2 заказа на курьера в час. Ячейки графика окрасятся в цвета:
- красный цвет — производительность ниже 2, курьеров на смене много, они будут скучать без заказов, а пиццерия будет терять деньги.
- жёлтый — производительность выше 4, курьеры не успеют вовремя доставлять заказы.
- зелёный — производительность между 2 и 4, курьеры справятся с потоком заказов.
Учитываем возможности курьеров
У каждого работника пиццерии есть доступ к Личному кабинету, через который можно указать удобное для работы время.
В графике курьеры сортируются в следующем порядке:
- Курьеры, которые заполнили карту возможностей. Их смело можно ставить в график в удобное для них время.
- Курьеры, которые не заполнили график. Их можно ставить в часы, когда курьеров не хватает.
- Курьеры, у которых выходной. Их можно выводить на смену в самом крайнем случае.
Заполнять график стало быстрее и проще. Курьеров, которые заполнили свои возможности, можно добавить в график в два клика.
График работы курьеров более гибкий, чем у работников кухни. Например, их можно поставить на смену несколько раз за день или составить график с точностью до 15 минут.
Отчёты
Считаем итоговые потери ингредиентов
Теперь мы знаем потери в деньгах по каждому ингредиенту.
Итого потери = неучтённые в деньгах + учтённые в деньгах.
Раньше строки в таблице сортировались по неучтённым потерям в деньгах: даже если мы списали томатов на 5000 ₽ и неизвестно куда их потеряли на 200 ₽, то томаты появились бы в самом конце списка. Без внимательного изучения таблицы мы бы даже не знали, что теряем деньги на списаниях.
Теперь строки сортируются по итоговым потерям: в начале списка — реальные потери каждого ингредиента в деньгах.
Помогаем при первой закупке
В «Додо ИС» партнёры могут изучать результаты работы других пиццерий сети: подглядеть популярность бонусных акций, сравнить производительность и объём продаж.
Партнёрам, которые только открывают пиццерию, статистика помогает рассчитать объём первой закупки. Для этого нужно изучить расход сырья в похожих городах.
Рассчитываем себестоимость продуктов
Чтобы узнать себестоимость продуктов, необходимо провести сложные расчёты: узнать итоговую выручку, затраты на закупку ингредиентов, расход ингредиентов на каждый продукт, объём продаж продуктов. «Додо ИС» рассчитывает эти показатели за считанные секунды. При этом учитывает расходы на упаковку. В итоге за любой период времени мы знаем юнит-кост (себестоимость + упаковка):
- общий для всех продуктов,
- для каждого продукта отдельно,
- для групп продуктов.
Все сэндвичи — это группа продуктов «Сэндвичи». Ванильный и шоколадный кукис — «Кукисы» Большая себестоимость — знак, что необходимо увеличивать продажи и искать выгодные цены на ингредиенты
Профиль пользователя
Создали крутую карточку для пользователей. Теперь каждый может загрузить свою фотографию, указать ФИО, номер телефона, е-мейл, круг вопросов.
Это первый шаг к созданию справочника адресов и телефонов, который поможет оперативно решать проблемы и всегда оставаться на связи.
В Вельске продаём только два вида пицц
Вельск — город с населением 23 000 человек. В таком маленьком городе «Додо Пицца» открывается впервые. Специально для пиццерии в Вельске мы придумали новый формат. Одна из особенностей — в меню будет всего два вида пицц: 25 см и 30 см на тонком тесте. На сайте dodopizza.ru клиент из Вельска увидит только эти пиццы.
Принимаем промо-коды через мобильный сайт
Раньше в мобильной версии сайта срабатывали только автоматические акции. Теперь у клиентов появилась возможность ввести промо-код. Надеемся, что теперь количество заказов с сайта увеличится.
Контакт-центр
Подсказки для операторов
Операторы Контакт-центра принимают звонки уже из 45 городов. Чтобы увеличить скорость приёма заказа, «Додо ИС» подсказывает оператору номера домов, которые входят в зону доставки. Если все дома улицы входят в зону доставки, то подсказки с номером дома не появятся.
И ещё одно улучшение, которое поможет не терять клиентов. Если литеру дома написать с большой буквы, а в настройках сектора она заведена с маленькой, то адрес всё равно попадёт в зону доставки.
Недавно у партнёров появилась возможность устанавливать разный режим работы пиццерии для каждого дня недели. В блоке «Информация о пиццерии» показываем режим работы на всю неделю, а не только на текущий день.
Читайте также: Чем отличается винда 7 от винды 10
Считаем производительность операторов
Количество звонков, которое принял оператор, теперь можно узнать в отчёте «Статистика по операторам». Отчёт помогает рассчитать продуктивность каждого оператора и его зарплату — оператор получает бонусы за принятые звонки.
Удаляем подарки из корзины
Не все клиенты хотят получать подарки по акции, поэтому теперь операторы Контакт-центра могут удалять их из корзины.
Одной кнопкой можно удалить сразу все подарки или удалять по-одному. Если клиент передумает, то подарки можно вернуть.
Если клиент заказывает через сайт, то может самостоятельно убрать подарок из корзины.
Управление доставкой
Перед открытием пиццерии каждый партнёр настраивает зону доставки: заполняет справочник улиц, определяет район, в котором будет работать доставка, добавляет в него улицы и дома из созданного справочника. Это очень трудоёмкая работа.
Раньше логика интерфейса была запутанная: сложные переходы между настройками улиц и секторов.
Теперь создать сектор доставки стало проще и удобнее. На одном экране, но в разных вкладках, расположили настройки секторов и справочник улиц.
При добавлении улицы сразу можно добавить её в сектор в том же окне. И наоборот, после создания сектора можно заполнить его улицами и присвоить пиццерию, которая обслуживает сектор.
Курьер теперь видит в накладной комментарий к улице. Это поможет ему быстрее добраться до клиента.
Публичные экраны
Публичные экраны — интерфейсы, которые видят гости в ресторане: табло выдачи заказов, сотрудники на смене, ТВ-меню над кассой, а также экраны для сотрудников: мотивация кухни и курьеров.
Раньше доступ к этим экранам открывался через трекинг. Это было небезопасно, так как любой гость мог получить доступ к трекингу. Чтобы такого не произошло, мы создали для публичных экранов отдельный интерфейс.
Управлять браузером телевизора через пульт неудобно, поэтому все публичные экраны работают по прямой ссылке из закладок браузера — в «Додо ИС» логиниться не надо.
Стоп-продажи
Когда пиццерия останавливает продажи, она теряет выручку. Важно вовремя восстановить продажи. С этой недели «Додо ИС» будет предупреждать менеджера, что доставку и ресторан надо выводить из стопа.
Менеджер ставит доставку или в ресторан в стоп и указывает приблизительное время остановки продаж.
Через указанное время «Додо ИС» предложит восстановить продажи или продлить время. Функция не работает, если стоп стоит на неопределённое время.
Международная сеть
Создали табло выдачи заказов для Китая
Совсем скоро откроется первая «Додо Пицца» в Китае. Мы адаптируем «Додо ИС» для каждой страны, но проект для Китая особенно интересен.
Китайцы не любят говорить свои имена незнакомым людям, поэтому, вместо имени, «Додо ИС» будет присваивать каждому заказу иконку. Она появится в чеке и на табло выдачи заказа в ресторане.
Собираем базу е-мейлов зарубежных клиентов
Клиенты из России могут подписаться на рассылку интересных новостей «Додо Пиццы». Для этого они оставляют свой е-мейлы в Личном кабинете на сайте. Теперь такая возможность появилась и у зарубежных клиентов.
Команда Dodo IS:
ИТ-директор: Галия Давлетова.
Системные аналитики:
- Анастасия Анфёрова,
- Александра Балан,
- Алиса Отева,
- Валентина Титаренко,
- Николай Товеровский.
Бизнес-аналитики:
- Марсель Зиганшин,
- Кирилл Коржов,
- Павел Коровников,
- Иван Заварин.
Арт-директор: Артём Скворцов.
Программисты:
- Вадим Аминов,
- Антон Бевзюк,
- Татьяна Епифанова,
- Андрей Лифантьев,
- Андрей Миронов,
- Александр Муравлюк,
- Дмитрий Новосёлов,
- Иван Обухов,
- Дмитрий Пирязев,
- Павел Притчин,
- Анна Рябушева,
- Дмитрий Хромов,
- Андрей Филипьев.
Архитектор Dodo IS: Андрей Моревский.
Тестировщик: Георгий Удоратин.
Фронтэнд-разработчики:
- Илья Каштанов,
- Яна Мишко,
- Наталья Ногиева.
Читайте также: Где в айфоне настройки сети
Системные администраторы:
- Арсений Кравченко,
- Глеб Лесников.
Редактор: Екатерина Игушева.
Додо Пицца IT является важнейшей составляющей. Здесь мы рассказываем о том, куда мы идем с точки зрения архитектуры и развития системы
Dodo is
Додо Пицца — международная сеть пиццерий родом из России. В 2016 году мы обогнали всех международных конкурентов и стали № 1 в России по количеству открытых пиццерий. В сердце нашего бизнеса — информационная система Dodo IS.
Dodo IS — информационная система, не просто важнейшая часть бизнеса Додо. Это сам бизнес и есть. Сегодня она обеспечивает работу более 470 пиццерий в 11 странах мира. И мы только в начале большого пути. Нам предстоит переход на микросервисы, масштабирование и обеспечение работы 24/7. И это только малая часть тех вызовов, которые стоят перед нами
Стек технологий
Для контроля версий мы пользуемся git и располагаем его на GitHub (без зеленых квадратиков никуда), Kaiten для задач, Nuclino для документации. Деплоим через PowerShell и Cake раз в неделю, Continuous Integration — TeamCity.
Веб-приложение на ASP.NET MVC и ASP.NET Core, Windows Server, IIS, CentOS, NGINX, MySQL (Percona Server). Мы используем NGINX для реверс-прокси и TLS. За NGINX стоят наши бэкенды в виде IIS серверов, на которых находится бизнес-логика. В качестве реляционной БД у нас работает Percona Server. Для разнообразных кэшей в продакшне мы используем Azure Redis Cache. Сами приложения написаны на .NET Full Framework и мы постепенно мигрируем на .NET Core. Новый сайт использует ReactJS, backoffice на Angular 2.
Архитектура Dodo IS
Будущее в микросервисах
Наш фокус сегодня
Какая у нас инфраструктура
Мы помогаем разработчикам с масштабированием, мониторингом и поддержкой в продакшене ASP.NET/.NET Core SaaS приложения. Стек технологий типичный, но постоянно растет, сейчас это Azure, AWS, NGINX, Percona Server/Cluster, Redis, Rabbitmq, Elasticsearch. Мы поддерживаем три системы в разных частях планеты — Европа, Северная Америка и Китай. Инфраструктура и мониторинг постоянно развивается, как и работа с базами данных. Впереди оркестрация и контейнеры, Big Data и стриминг аналитика, Geo-DNS и мультидатацентровые приложения на Go.
Как мы работаем
IT – это и есть бизнес
Разработчики и управляющие пиццерией сидят рядом, постоянно общаются и работают рука об руку над созданием Dodo IS. Закодил — сразу видишь насколько рад пиццамейкер новым фичам. Каждый разработчик проходит стажировку в пиццерии. Надоело писать код — можешь сходить в пиццерию, покрутить додстеры или постоять на кассе.
Инженерная культура
Мы используем лучшие инженерные практики: разработка маленькими шагами, постоянный рефакторинг кода, покрытие кода быстрыми и читаемыми юнит тестами, бесшовная выкладка на боевое окружение — это часть нашей ежедневной работы. Встраиваем качество в процесс. В то же время мы не догматики, приверженные строгому набору практик. Мы постоянно ищем новые идеи, помогающие сделать наш код еще лучше.
Командная работа
Команда — это автономная боевая единица, в которой есть все, что необходимо для достижения цели. Мы не сидим в отдельных кубиках в наушниках. Мы сидим рядом, работаем в парах, когда это необходимо, часто общаемся и помогаем друг другу.
Поток создания ценности
У всех команд в потоке создания ценности один бэклог. Правила работы определяются самими командами. Например, кто-то предпочитает стабильный состав команд, а кто-то меняется после каждой выполненной истории.
Схема монолита 2016 года Перед вами основные блоки монолита Dodo IS 2016 года, а чуть ниже расшифровка их основных задач.
Касса Доставки. Учёт курьеров, выдача заказов курьерам.Контакт Центр. Приём заказов через оператора. Site. Наши сайты (dodopizza.ru, dodopizza.co.uk, dodopizza.by и т.д.).Auth. Сервис авторизации и аутентификации для бэкофиса.Трекер. Трекер заказов на кухне. Сервис отметки статусов готовности при приготовлении заказа. Касса Ресторана. Приём заказов в ресторане, интерфейсы кассира.Export. Выгрузка отчётов в 1C для бухгалтерии.Оповещения и накладные. Голосовые команды на кухне (например, «Поступила новая пицца») + печать накладных для курьеров.Менеджер Смены. Интерфейсы для работы менеджера смены: список заказов, графики производительности, вывод на смену сотрудников. Менеджер Офиса. Интерфейсы для работы франчайзи и управляющего: приём сотрудников, отчёты по работе пиццерии.Табло Ресторана. Отображение меню на телевизорах в пиццериях.Админка. Настройки в конкретной пиццерии: меню, цены, учёт, промокоды, акции, баннеры для сайта и т.д.Личный Кабинет Сотрудника. Графики работы сотрудников, информация о сотрудниках.Табло Мотивации Кухни. Отдельный экран, который висит на кухне и отображает скорость работы пиццамейкеров.Communication. Отправка sms и email.FileStorage. Собственный сервис для приёма и выдачи статических файлов. Первые попытки решить проблемы помогли нам, но стали лишь временной передышкой. Они не стали системными решениями, поэтому было ясно, что с базами надо что-то сделать. Например, разделить общую базу на несколько более специализированных.
Начинаем разгружать монолит: отделение Auth и Трекера
Основные сервисы, которые тогда больше других записывали и считывали из базы:
- Auth. Сервис авторизации и аутентификации для бэкофиса.
- Трекер. Трекер заказов на кухне. Сервис отметки статусов готовности при приготовлении заказа.
Чем занимается Auth
Auth — это сервис, через который пользователи логинятся в бэкофис (на клиентской части отдельный независимый вход). Также к нему обращаются в запросе, чтобы удостовериться, что есть нужные права на доступ, и что эти права не изменились с последнего входа. Через него же происходит вход устройств в пиццерии. Например, нам хочется открыть на телевизоре, висящем в зале, табло со статусами готовых заказов. Тогда мы открываем auth.dodopizza.ru, выбираем «Вход как устройство», появляется код, который можно внести в специальной странице на компьютере менеджера смены, указав тип устройства (девайса). Телевизор сам перейдёт на нужный интерфейс своей пиццерии и начнёт отображать там имена клиентов, заказы которых готовы.
Откуда нагрузки?
Каждый залогиненный пользователь бэкофиса на каждый запрос ходит в базу, в таблицу пользователей, через sql-запрос вытаскивает оттуда пользователя и проверяет, есть ли у него нужные доступы и права на эту страницу. Каждое из устройств делает то же самое только с таблицей устройств, проверяя свою роль и свои доступы. Большое количество запросов в мастер-базу приводит к её загрузке и трате ресурсов общей базы на эти операции.
Разгружаем Auth
У Auth изолированный домен, то есть данные о пользователях, логинах или устройствах поступают в сервис (пока будущий) и там остаются. Если они кому-то понадобятся, то он пойдёт в этот сервис за данными.БЫЛО. Схема работы изначально была такой: Хочется немного пояснить, как это работало:
- Запрос извне приходит на бэкэнд (там Asp.Net MVC), приносит с собой куку сессии, которая используется для получения сессионных данных из Redis(1). В ней либо есть информация о доступах, и тогда доступ в контроллер открыт (3,4), либо нет.
- Если доступа нет, нужно пройти процедуру авторизации. Здесь для упрощения она показана как часть пути в том же атрибуте, хотя это переход на страницу логина. В случае позитивного сценария мы получим правильно заполненную сессию и перейдём в Backoffice Controller.
- Если данные есть, то нужно проверить их на актуальность в базе пользователя. Не изменилась ли его роль, не надо ли его не пускать теперь на страницу. В этом случае после получения сессии (1) надо напрямую сходить в базу и проверить доступы пользователя с помощью слоя логики аутентификации (2). Далее либо на логин-страницу, либо переход в контроллер. Такая вот простая система, но при этом не совсем стандартная.
- Если все процедуры пройдены, то пропускаем дальше в логике в контроллерах и методах.
Данные пользователей отделены от всех других данных, они хранятся в отдельной таблице membership, функции из слоя логики AuthService вполне могут стать api-методами. Границы домена определены вполне чётко: пользователи, их роли, данные о доступах, выдача и отзыв доступов. Всё выглядит так, что можно вынести в отдельный сервис.СТАЛО. Так и сделали: У такого подхода есть ряд проблем. Например, вызов метода внутри процесса — не то же самое, что вызов по http внешнего сервиса. Латенси, надёжность, поддерживаемость, прозрачность операции совершенно другие. Подробнее именно о таких проблемах рассказывал Андрей Моревский в своем докладе «50 оттенков микросервисов». Сервис аутентификации и с ним сервис устройств используются для бэкофиса, то есть для сервисов и интерфейсов, используемых на производстве. Аутентификация для клиентских сервисов (вроде сайта или мобильного приложения) происходит отдельно без использования Auth. Отделение заняло около года, а сейчас мы опять занимаемся этой темой, переводя систему уже на новые сервисы аутентификации (со стандартными протоколами). Почему отделение длилось так долго?По пути было множество проблем, которые замедляли:
- Нам хотелось перевести данные о пользователях, устройствах и аутентификации из баз по стране в одну. Для этого пришлось переводить все таблицы и использование с идентификатора int на глобальный идентификатор UUId (недавно перерабатывали этот код Роман Букин «Uuid — большая история маленькой структуры» и open-source проект Primitives). Хранение данных по пользователям (так как это персональная информация) имеет свои ограничения и для некоторых стран надо хранить их отдельно. Но глобальный идентификатор пользователя должен быть.
- Много таблиц в базе имеет аудит информацию о том пользователе, который совершил операцию. Это потребовало дополнительного механизма, чтобы была консистентность.
- После создания api-сервисов был долгий и постепенный период перевода на другую систему. Переключения должны были происходить бесшовно для пользователей и требовали ручной работы.
Схема регистрации устройства в пиццерии: Общая архитектура после выделения Auth и Devices-сервиса:
Примечание. На 2020 год мы работаем над новой версией Auth, который основан на стандарте авторизации OAuth 2.0. Этот стандарт довольно сложный, но пригодится для разработки сервиса сквозной аутентификации. В статье «Тонкости авторизации: обзор технологии OAuth 2.0» мы Алексей Черняев постарался рассказать о стандарте максимально просто и понятно, чтобы вы сэкономили время на его изучение.
Чем занимается Трекер
Теперь про второй из нагруженных сервисов. Трекер выполняет двойственную роль:
- С одной стороны, его задача — показывать сотрудникам на кухне, какие заказы сейчас в работе, какие продукты сейчас нужно готовить.
- С другой стороны — оцифровывать все процессы на кухне.
Когда в заказе появляется новый продукт (например, пицца), он попадает на станцию трекера «Раскатка». На этой станции стоит пиццамейкер, который берёт плюшку нужного размера и раскатывает её, после чего отмечает на планшете трекера, что выполнил свою задачу и передаёт раскатанную основу теста на следующую станцию — «Начинение». Там следующий пиццамейкер начиняет пиццу, затем отмечает на планшете, что выполнил свою задачу и ставит пиццу в печь (это тоже отдельная станция, которую нужно отметить на планшете). Такая система была с самого начала в Додо и самого начала существования Dodo IS. Она позволяет полностью отслеживать и оцифровывать все операции. Кроме того трекер подсказывает, как готовить тот или иной продукт, проводит каждый вид продукта по своим схемам изготовления, хранит оптимальное время приготовления продукта и трекает все операции над продуктом.
Так выглядит экран планшета на станции трекера «Раскатка»
Откуда нагрузки?
В каждой из пиццерий примерно по пять планшетов с трекером. В 2016 году у нас было больше 100 пиццерий (а сейчас более 600). Каждый из планшетов делает раз в 10 секунд запрос на бэкэнд и выгребает данные из таблицы заказа (связка с клиентом и адресом), состава заказа (связка с продуктом и указание количества), таблицы учёта мотивации (в ней трекается время нажатия). Когда пиццамейкер нажимает на продукт на трекере, происходит обновление записей во всех этих таблицах. Таблица заказа общая, в неё же одновременно идут вставки при принятии заказа, обновления от других частей системы и многочисленные считывания, например, на телевизоре, который висит в пиццерии и показывает готовые заказы клиентам. В период борьбы с нагрузками, когда всё и вся кэшировалось и переводилось на асинхронную реплику базы, эти операции с трекером продолжили ходить в мастер-базу. Тут не должно быть никакого отставания, данные должны быть актуальными, рассинхрон недопустим. Также отсутствие собственных таблиц и индексов на них не позволяло написать более специфичные запросы, заточенные под своё использование. Для примера, трекеру может быть эффективно иметь индекс на пиццерию на таблице заказов. Мы всегда выгребаем из базы трекера заказы по пиццерии. При этом для приёма заказа не так важно, в какую пиццерию он падает, важнее, какой клиент сделал этот заказ. А значит там нужен индекс по клиенту. Ещё для трекера в таблице заказа не обязательно хранить id напечатанного чека или связанные с заказом бонусные акции. Эта информация наш сервис трекера не интересует. В общей монолитной базе таблицы могли быть только компромиссным вариантом между всеми пользователями. Это было одной из изначальных проблем.БЫЛО. Изначально архитектура была такая: Даже после выделения в отдельные процессы большая часть кодовой базы оставалась общей для разных сервисов. Всё, что ниже контроллеров, было единым и жило в одном репозитории. Использовались общие методы сервисов, репозиториев, общая база, в которой лежали общие таблицы. Главная проблема с трекером в том, что данные должны синхронизироваться между различными базами. Это же и главное его отличие от разделения Auth-сервиса, заказ и его статус могут изменяться и должны отображаться в различных сервисах. Мы принимаем заказ на Кассе Ресторана (это сервис), он сохраняется в базе в статусе «Принят». После этого он должен попасть на трекер, где ещё несколько раз изменит свой статус: от «Кухня» до «Упакован». При этом с заказом могут происходить какие-то внешние воздействия от Кассы или интерфейса Менеджера смены. Приведу в таблице статусы заказа с их описанием:
Схема изменения статусов заказа выглядит так:
Статусы меняются между разными системами. И здесь трекер не является конечной системой, в которой замыкаются данные. Мы видели несколько возможных подходов для разделения в таком случае:
- Концентрируем все действия заказа в одном сервисе. В нашем случае этот вариант требует слишком большого сервиса по работе с заказом. Если бы мы остановились на нём, то получился бы второй монолит. Проблемы бы мы не решили.
- Одна система делает вызов в другую. Второй вариант уже интереснее. Но при нём возможны цепочки вызовов (каскадные сбои), связность компонентов выше, управлять этим сложнее.
- Организуем события, и каждый сервис обменивается с другим через эти события. В итоге был выбран именно третий вариант, по которому все сервисы начинают обмениваться событиями друг с другом.
То, что мы выбрали третий вариант значило, что для трекера будет своя база, а на каждое изменение заказа он будет посылать событие об этом, на которое подписываются другие сервисы и которое в том числе попадает в мастер-базу. Для этого нам нужен был некоторый сервис, который обеспечит доставку сообщений между сервисами. К тому времени у нас в стеке уже был RabbitMQ, отсюда и итоговое решение использовать его как брокер сообщений. На схеме показан переход заказа от Кассы Ресторана через Трекер, где он меняет свои статусы и отображение его на интерфейсе Заказы менеджера. СТАЛО: Путь заказа по шагамПуть заказа начинается на одном из сервисов источников заказа. Здесь это Касса Ресторана:
- На Кассе полностью готов заказ, и его пора отправить на трекер. Бросается событие, на которое подписан трекер.
- Трекер, принимая себе заказ, сохраняет его в свою собственную базу, делая при этом событие «ЗаказПринятТрекером» и посылая его в RMQ.
- В шине событий на заказ уже подписаны несколько обработчиков. Для нас важен тот, который делает синхронизацию с монолитной базой.
- Обработчик принимает событие, выбирает из него значимые для него данные: в нашем случае это статус заказа «ПринятТрекером» и обновляет свою сущность заказа в основной базе.
Если кому-то нужен заказ именно из монолитной таблицы orders, то можно считать его и оттуда. Например, такое нужно интерфейсу Заказы в Менеджере Смены: Все другие сервисы тоже могут подписаться на события заказа из трекера, чтобы использовать их для себя. Если через некоторое время заказ берётся в работу, то его статус сначала изменяется в своей базе (базе Трекера), а потом сразу генерируется событие «ЗаказВРаботе». Оно также попадает в RMQ, откуда синхронизируется в монолитной базе и доставляется другим сервисам. На этом пути могут быть разные проблемы, подробнее о них можно посмотреть в докладе Жени Пешкова про детали реализации Eventual Consistency в Трекере.
Итоговая архитектура после изменений в Auth и Трекере
Подводя промежуточный итог: изначально у меня была мысль упаковать девятилетнюю историю системы Dodo IS в одну статью. Хотелось быстро и просто рассказать об этапах эволюции. Однако сев за материал, я понял, что всё гораздо сложнее и интереснее, чем кажется. Размышляя над пользой (или её отсутствием) от такого материала, я пришёл к выводу, что непрерывное развитие невозможно без полноценных летописей событий, развёрнутых ретроспектив и анализа своих прошлых решений. Надеюсь, что вам было полезно и интересно узнать про наш путь. Сейчас я стою перед выбором, какую часть системы Dodo IS описать в следующей статье: пишите в комментариях или голосуйте.</h4>
О какой части Dodo IS вам бы хотелось узнать в следующей статье?
- 23,0%Ранний монолит в Dodo IS (2011-2015 годы)
- 23,0%Первые проблемы и их решения (2015-2016 годы)
- 19,7%Путь клиентской части: фасад над базой (2016-2017 годы)
- 34,4%История настоящих микросервисов (2018-2019 годы)
- 45,9%Законченный распил монолита и стабилизация архитектуры
- 27,9%Про дальнейшие планы развития системы
- 19,7%Не хочу ничего знать про Dodo IS
Проголосовал 61 пользователь. Воздержались 7 пользователей.Используемые источники:
- https://cabinet-bank.ru/dodo-is/
- https://kabinet-lichnyj.ru/internet-magaziny/dodo
- https://dostavkaservis.ru/lichnyj-kabinet-dodo-pitstsa
- https://pcznatok.ru/kompjutery/dodo-is-lichnyj-kabinet-kurera.html
- https://habr.com/ru/company/dododev/blog/506136/