Rubik

Сайт доставки суші чи піци, який не пов’язаний з касою, працює як телефон, тільки повільніший. Замовлення приходить на пошту або в Telegram, адміністратор переносить його в POS-систему вручну, кухня чекає, а клієнт тим часом дзвонить уточнити, чи прийняли його замовлення. Кожне ручне перенесення — це ризик помилитися в адресі, модифікаторі чи сумі.

Поки замовлень кілька на день, це терпимо. Але у вечір п’ятниці, коли замовлення йдуть одне за одним, адміністратор фізично не встигає: частина позицій переноситься з помилками, клієнт чекає довше, а кухня готує не те. Саме тут сайт без інтеграції починає коштувати закладу грошей.

Інтеграція сайту з POS-системою прибирає ручний крок. Замовлення з сайту одразу потрапляє в касу й на кухню, а меню, ціни та наявність страв сайт може брати з тієї ж системи, у якій працює заклад. Нижче розповідаємо, як це влаштовано, які дані передаються, що підготувати заздалегідь і де найчастіше виникають помилки.

Що дає інтеграція сайту з POS-системою

Замовлення без ручного перенесення

Клієнт оформлює замовлення на сайті, і воно з’являється в POS-системі з усіма позиціями, модифікаторами, адресою та способом оплати — так само, якби його прийняв касир. Адміністратору не потрібно нічого переписувати, а кухня отримує замовлення в тому ж вигляді, до якого звикла. Час від кліку «Оформити» до початку приготування скорочується до хвилини.

Одне меню на всі канали

Страви, категорії, ціни та модифікатори ведуться в касовій системі, а сайт їх підтягує. Змінили ціну чи додали нову позицію в POS — після синхронізації вона з’явилася на сайті. Без цього меню на сайті рано чи пізно розходиться з реальним: клієнт бачить стару ціну, а на кухні страву вже прибрали.

Актуальна наявність

Якщо страва закінчилася, її можна прибрати з продажу в одному місці. Клієнт не замовить те, чого немає, а оператору не доведеться передзвонювати й пропонувати заміну — саме такі дзвінки найчастіше закінчуються скасованим замовленням.

Лояльність і акції за єдиними правилами

Бонуси, промокоди та акції рахуються однаково на сайті й у закладі. Клієнт, який накопичив бонуси в ресторані, може витратити їх на сайті, і навпаки. Для постійних гостей це вагомий аргумент замовляти напряму, а не через агрегатори з їхньою комісією.

Зрозуміла аналітика

Коли всі замовлення проходять через POS-систему, видно, скільки з них прийшло з сайту, який середній чек і які страви беруть онлайн. А якщо налаштувати джерела — то й з якої реклами прийшов кожен клієнт. Це дозволяє вкладати рекламний бюджет у канали, які реально приводять замовлення.

Які дані передаються між сайтом і POS-системою

Обмін іде у двох напрямках. Від того, наскільки акуратно його налаштувати, залежить, чи буде кухня отримувати замовлення без уточнень. У таблиці — основні дані і що буде, якщо їх не передавати.

Дані

Напрямок

Що буде без синхронізації

Меню, категорії, фото

POS → сайт

Меню на сайті ведеться окремо й поступово розходиться з реальним

Ціни та модифікатори

POS → сайт

Клієнт бачить одну суму, каса рахує іншу

Заклади й філії

POS → сайт

Замовлення потрапляє не в той заклад

Наявність, стоп-лист

POS → сайт

Клієнт замовляє страву, якої вже немає

Склад замовлення

сайт → POS

Адміністратор переносить позиції вручну

Клієнт і адреса

сайт → POS

Кур’єр уточнює адресу телефоном

Оплата та її статус

сайт → POS

Незрозуміло, оплачене замовлення чи ні

Промокод, бонуси

сайт → POS

Знижка на сайті не збігається зі знижкою в касі

 

Найбільше проблем зазвичай із модифікаторами. У касі піца може бути заведена як одна страва з розмірами, а на сайті — як три окремі товари; соус може бути безкоштовним модифікатором або платною позицією. Якщо ці відповідності не продумати на старті, замовлення прийде на кухню без соусу або з неправильним розміром, і помітять це лише тоді, коли клієнт подзвонить зі скаргою.

Poster, Syrve чи iiko: з чим ми працювали

Усі три системи мають API для обміну з сайтом, але логіка, структура меню й можливості в них різні. Тому готового «модуля на всі випадки» немає: інтеграцію під кожну систему ми налаштовуємо окремо, з урахуванням того, як саме заклад веде меню й акції.

Poster

Poster — одна з найпоширеніших POS-систем серед закладів доставки в Україні, особливо серед невеликих і середніх. Через Poster API ми підключили сайти доставки KaiFui і Receptor: замовлення з сайту потрапляють у Poster, а онлайн-оплата проходить через LiqPay. Той самий зв’язок Poster + LiqPay працює й на сайті Креветка.

Syrve

Syrve — міжнародна версія платформи iiko. Вона дає більше можливостей для лояльності й акцій, але й інтеграція з нею складніша. Найглибшу інтеграцію ми зробили для Sushi Bo: вивантаження товарів і закладів, передача замовлень, програма лояльності Syrve Loyalty, промокоди та кілька різних логік спрацювання акцій. Окремо для цього проєкту ми додали визначення зони доставки за адресою клієнта, джерела замовлень в адмінці та передачу подій у Meta для реклами.

iiko

Буває, що мережа працює не з однією касовою системою: частина закладів на одній, частина на іншій. Для мережі ресторанів Kilogramm сайт працює з iiko та Poster одночасно і підтримує кілька міст. Для таких проєктів важливо на старті розписати, який заклад на якій системі і куди має йти кожне замовлення.

Зони доставки: чому адреса важливіша, ніж здається

Для доставки їжі мало знати адресу — треба розуміти, в яку зону вона потрапляє. Від цього залежать вартість доставки, мінімальна сума замовлення, орієнтовний час і те, чи взагалі заклад туди везе. Якщо цю перевірку робить оператор, частина замовлень губиться на етапі дзвінка: клієнт оплатив, а потім дізнається, що доставка в його район коштує інакше або неможлива.

Надійніше, коли зону визначає сам сайт ще до оплати. Адреса перетворюється на координати, а далі система перевіряє, в який полігон на карті вони потрапляють, і одразу показує клієнту правильну вартість доставки. На Sushi Bo адреса геокодується через Google, а зони описані у форматі GeoJSON. Схожий підхід ми використали для сервісу Fresh Box у Львові.

Промокоди, бонуси та акції

Найбільше питань в інтеграції зазвичай виникає не із замовленнями, а з акціями. «Друга піца зі знижкою», «рол у подарунок від певної суми», бонуси за попередні замовлення — усе це має рахуватися однаково на сайті й у касі.

Типова ситуація: сайт показує клієнту знижку за промокодом, а каса цей промокод не знає і рахує повну ціну. У результаті клієнт оплатив одну суму, в POS-системі інша, а бухгалтерія в кінці дня не може звести каси. Тому логіку акцій треба продумати ще до розробки: що рахує каса, що — сайт і як вони звіряють суму. На Sushi Bo бонуси й промокоди підключені через Syrve Loyalty, а для акцій ми реалізували кілька різних логік спрацювання.

Кілька закладів і міст

Коли у мережі кілька точок або міст, сайту потрібно знати більше, ніж просто меню. У різних містах можуть відрізнятися ціни й асортимент, у кожного закладу свій графік і своя зона доставки, а замовлення має потрапити саме на ту кухню, яка його готуватиме.

Якщо це не продумати, замовлення з одного міста опиняється в закладі іншого, а клієнт бачить страви, яких у його місті немає. На Kilogramm ми реалізували саме такий мультиміський сайт з інтеграцією iiko та Poster.

Що підготувати до інтеграції

Інтеграція йде значно швидше, якщо заклад заздалегідь підготує кілька речей. Ось що ми просимо на старті:

  • Доступ до API POS-системи. Токен або ключ, який видає ваша каса. Якщо ви не знаєте, де його взяти, — підкажемо.
  • Впорядковане меню в касі. Страви в потрібних категоріях, без дублікатів і «тимчасових» позицій, які давно не продаються.
  • Зрозуміла структура модифікаторів. Які розміри, соуси й добавки є, які з них платні, які обов’язкові.
  • Список закладів і їхній графік. Особливо якщо точок кілька або вони працюють у різний час.
  • Карта зон доставки. Межі районів, вартість доставки й мінімальна сума для кожної зони.
  • Еквайринг для онлайн-оплати. Договір з LiqPay або іншим платіжним сервісом.
  • Правила акцій і лояльності. Які акції діють, як нараховуються бонуси, чи можна поєднувати знижки.

Як проходить інтеграція

  1. Аудит POS-системи та меню. Дивимося, як заведені страви, модифікатори, заклади й акції. Від порядку в касі залежить половина успіху: якщо там хаос, спершу допомагаємо його прибрати.
  2. Зіставлення даних. Визначаємо, які поля з каси відповідають товарам і опціям на сайті, як передаються модифікатори, адреса й оплата. Це найважливіший етап — помилки тут потім виринають на кухні.
  3. Синхронізація меню. Налаштовуємо вивантаження категорій, страв і цін, а також оновлення за розкладом або за подією.
  4. Передача замовлень і оплата. Замовлення з сайту створюється в POS-системі, онлайн-оплата — через LiqPay або інший еквайринг.
  5. Лояльність, промокоди, зони доставки. Підключаємо те, що потрібно конкретному закладу, і узгоджуємо, де рахується знижка.
  6. Тестові замовлення. Проганяємо реальні сценарії: різні модифікатори, адреси, промокоди, оплату — і перевіряємо, як замовлення виглядає на кухні.
  7. Запуск і супровід. Після запуску стежимо за першими замовленнями й виправляємо розбіжності, якщо вони з’являються.

Типові помилки та як їх уникнути

  • Неузгоджені модифікатори. Модифікатори в касі заведені не так, як їх бачить клієнт на сайті, і замовлення приходить без соусу чи з іншим розміром. Рішення — окремо зіставити кожну групу модифікаторів ще до розробки.
  • Товари без відповідника. Страва є на сайті, але її немає в касі, тож замовлення не передається або передається неповним. Рішення — не показувати на сайті позиції, яких немає в POS-системі.
  • Два джерела меню. Меню редагують і в касі, і в адмінці сайту, і дані швидко розходяться. Рішення — домовитися, що джерело правди одне, і редагувати тільки там.
  • Дублікати замовлень. Якщо зв’язок з API обірвався, сайт може надіслати замовлення вдруге, і кухня приготує його двічі. Рішення — перевіряти, чи замовлення вже створене, перед повторним відправленням.
  • Замовлення поза графіком. Клієнт оформлює й оплачує доставку, коли заклад уже закритий. Рішення — сайт має знати графік кожного закладу й чесно показувати, коли замовлення буде прийняте.

Коли інтеграція не потрібна

Якщо у закладу кілька замовлень на день і одна точка, повна інтеграція може не окупитися: адміністратор спокійно переносить замовлення вручну, а бюджет краще вкласти в меню, фото й рекламу. Інтеграцію варто планувати тоді, коли ручне перенесення починає гальмувати кухню, з’являються помилки в замовленнях або ви відкриваєте другу точку.

Для такого старту підійде готовий сайт доставки в оренду з інтеграцією Poster та онлайн-оплатою — e-duki. На ньому працює, наприклад, Креветка.

Скільки триває та скільки коштує

Сайти доставки з інтеграцією POS-системи ми робимо за 2–3 місяці — разом з дизайном, каталогом, оплатою та запуском. Сама інтеграція займає частину цього часу. Її обсяг і вартість залежать від кількох речей:

  • яка POS-система і наскільки впорядковане в ній меню;
  • скільки закладів і міст потрібно підключити;
  • чи потрібні лояльність, промокоди та складні акції;
  • чи потрібне автоматичне визначення зон доставки.

Вартість інтеграції: від 400$. Точну суму називаємо після аудиту вашої POS-системи та меню.

Часті питання

Так, якщо сайт дозволяє змінювати код каталогу й оформлення замовлення. Ми так робили на Sushi Bo: сайт розробляли не ми, ми доопрацювали його й підключили Syrve. Якщо сайт зроблено на конструкторі без доступу до коду, інтеграція може бути неможливою — тоді простіше перенести сайт.

Якщо налаштована синхронізація меню, нова ціна з’явиться на сайті після наступного оновлення. Як часто оновлювати дані — налаштовується під заклад.

Так. На наших проєктах доставки онлайн-оплата працює через LiqPay або Plata by Mono разом з інтеграцією каси.

Так, якщо в кожної системи є API. 

Здебільшого на OpenCart: він добре підходить для каталогу з модифікаторами й гнучко доопрацьовується під API касових систем.

POS-системи оновлюють свої API, заклади змінюють меню й акції — тому інтеграцію варто супроводжувати. Ми беремо це на технічну підтримку.

Розкажіть, на якій POS-системі працює ваш заклад і що має робити сайт, — ми підкажемо, як це реалізувати і скільки часу займе. Детальніше про розробку сайту для служби доставки.


Хочете бути попереду конкурентів?

Почніть зараз!