C cenaly.com
Почати безкоштовно

Якщо зник інтернет

Що продовжує працювати при обриві зв'язку: каса пробиває та друкує, замовлення і чеки накопичуються в черзі та досилаються без дублів

On this page 15

Якщо зник інтернет або недоступна хмара

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

Розрізняйте два збої, бо поводяться вони по-різному:

Що сталося Каса в закладі Гість з вулиці
Зник інтернет у закладі Працює офлайн: пробиває, друкує, накопичує чергу Вітрина відкривається (вона роздається з CDN), замовлення йде в хмару — але в закладі його побачать лише після відновлення зв'язку
Недоступна хмара Те саме: каса не відрізняє одне від одного — для неї це «запис не пішов» Вітрина може відкритися з кешу, оформлення замовлення й оплата не пройдуть

Каса навмисно не намагається вгадати причину: будь-яка мережева помилка означає «працюємо локально, запис у чергу».


Що продовжує працювати#

Каса (веб-POS). Це не просто закешована сторінка, а справжня черга запису на пристрої:

  • замовлення пробивається і йде в чергу замовлень (живе на касі 24 години);
  • чек і касова зміна — своя черга операцій (відкриття зміни, внесення та вилучення, чек, повернення, закриття зміни). У кожної операції клієнтський ідемпотентний ключ, тому досилання нічого не задвоює;
  • зміна, відкрита офлайн, отримує тимчасовий номер і продовжує працювати: гейт «без відкритої зміни оплата заборонена» офлайн теж діє, він рахує за локальним кешем;
  • меню, ціни, столи, довідники читаються з локального кешу браузера — вони потрапили туди, поки зв'язок був;
  • перезавантаження сторінки не викидає на екран входу: каса відкривається в «деградованій сесії» за локальним знімком і сама перепідключається, коли мережа повернеться.

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

Фіскальний чек. Якщо фіскальний реєстратор підключено до того самого комп'ютера, чек пробивається через міст тим самим локальним каналом: фіскальний накопичувач накопичує документи, а оператор фіскальних даних наздоганяє їх, коли зв'язок з'явиться. Для 54-ФЗ це штатний режим, а не порушення.

Екран входу. Поки в браузері є недавня сесія (вікно — 7 днів), касир заходить і працює; надсилання накопиченого все одно потребуватиме справжньої авторизації при відновленні зв'язку.


Що не працює без зв'язку#

  • Кухонний екран (KDS). Тикети приїжджають на нього через хмару; без інтернету нові замовлення на кухню не потраплять — вони поїдуть туди при відновленні зв'язку. На цей час кухня працює за друкованими тикетами, якщо у вас налаштовано друк на кухню, або за усною подачею.
  • Банківський термінал. Оплата карткою потребує авторизації в банку — офлайн вона не пройде. Приймайте готівку.
  • Онлайн-оплата гостем (картка на вітрині, оплата рахунку гостя зі столу, оплата в кіоску) — потрібен доступ до платіжного провайдера.
  • Друга каса й планшет офіціанта. Пристрої між собою в локальній мережі не синхронізуються: кожне веде свою чергу й досилає її само. Спільний локальний контур («LAN-режим») ми свідомо не робимо — рішення власника продукту: закриваємо автономність однієї каси з друком.
  • X-звіт. Проміжний зріз рахується на сервері за продажами — офлайн каса чесно відмовить. Зміну закрити можна, Z-звіт сформується, коли зв'язок повернеться.
  • Розділи адмінки, які рахують на сервері — «Замовлення», «Фінанси», «Статистика», «Склад», «Персонал». Вони читають хмару, і офлайн показують у кращому разі останнє, що встигли прочитати.
  • Екран видачі, табло черги, кіоск — теж хмарні поверхні.

Що робити персоналу#

  1. Продовжуйте пробивати. Щойно зв'язок зник, у касі з'являється бурштиновий банер «офлайн» і чип «N не надіслано». Це нормальний режим: замовлення прийнято, чек надруковано, гроші взято.
  2. Друкуйте гостю чек як завжди. Друк локальний — папір виходить.
  3. Працюйте на тому самому пристрої й у тому самому браузері. Черга лежить на цьому комп'ютері: пересісти на другий планшет і «доздати звідти» не можна.
  4. Не чистьте кеш браузера, не виходьте з облікового запису, не відкривайте касу в режимі інкогніто — так ви зітрете ненадіслані замовлення й чеки.
  5. Перезавантажити сторінку можна. Черга переживає перезавантаження й перезапуск браузера.
  6. Не пробивайте одне замовлення двічі «про всяк випадок»: система захищена від дублів при досиланні, але два різні замовлення вона чесно порахує як два.
  7. Картку не приймайте — термінал офлайн не авторизує. Готівка, а за бажання гостя — рахунок гостя на оплату пізніше.
  8. Червоний банер «N не доставлено» означає, що частина записів не пішла навіть після відновлення зв'язку (минув строк або сервер відмовив). Це привід покликати керуючого, а не ховати банер.

Що станеться, коли зв'язок повернеться#

Досилання починається саме — за подією «мережа з'явилася», при поверненні на вкладку й за таймером.

  • Чип «N не надіслано» зменшується й зникає. Замовлення з'являються в розділі «Замовлення» і на кухонному екрані, чеки отримують номери, склад списується за техкартами.
  • Дублів не буде. У кожного замовлення клієнтський ідентифікатор, у кожної касової операції — ключ ідемпотентності; сервер упізнає повтор і не застосовує його вдруге.
  • Офлайн-зміна підставляється справжньою. Тимчасовий номер зміни переписується на реальний у всіх ще наявних у черзі чеках і рухах.
  • Z-звіт формується для зміни, закритої офлайн.
  • Нічого не видаляється мовчки. Записи, які не вдалося доставити (минула доба або сервер повернув невідновну помилку), ідуть в окремий список «не доставлено» (зберігається 7 днів, до 100 записів) і показуються червоним банером з можливістю сховати його вручну.

Порядок зберігається: черга досилається послідовно, а на тимчасових помилках сервера повторює спробу з наростаючою паузою.


Обмеження#

  • Офлайн закритий для каси й друку — і тільки. Кухонний екран, банківський термінал і синхронізація між пристроями в локальній мережі без інтернету не працюють; повний LAN-контур свідомо не робиться.
  • Черга прив'язана до пристрою й браузера. Вона лежить у сховищі конкретного браузера: інший комп'ютер, інший браузер або режим інкогніто її не бачать.
  • Термін життя черги — 24 години для замовлень і касових операцій. Довше доби без зв'язку — записи потрапляють до списку «не доставлено», а не зникають мовчки.
  • Сесія офлайн живе 7 днів. Далі каса вимагатиме звичайного входу, а він без мережі неможливий.
  • X-звіт офлайн недоступний — він рахується на сервері.
  • Гостьові поверхні (вітрина, кіоск) тримають чергу лише годину — вони розраховані на короткочасний збій мобільної мережі в гостя, а не на роботу без інтернету.
  • Android-каса. Приймання замовлення й локальний фіскальний чек офлайн працюють, а запис до реєстру чеків і касова зміна офлайн — ще ні (заплановано). Джерелом правди офлайн там слугує фіскальний накопичувач.
  • Наскрізний прогін «висмикнули кабель» на живому фіскальному реєстраторі ще не зроблено. Офлайн-режим каси закритий кодом і автотестами (зокрема e2e «внутрішньосесійний офлайн»), а перевірка на реальному залізі власником стоїть у плані — ми називаємо це прямо, а не видаємо за пройдене.

Усунення неполадок#

Каса просить увійти, хоча раніше працювала. Сесія старша за сім днів або браузер почистили. Без мережі увійти не можна — відновіть зв'язок.

Чип «N не надіслано» не зменшується. Перевірте, що зв'язок справді повернувся (відкрийте будь-який сайт), і залиште вкладку каси активною: досилання йде за подією мережі, поверненням до вкладки й таймером. Якщо чип тримається з тим самим числом — дивіться червоний банер: частина записів могла піти в «не доставлено».

З'явився червоний банер «N не доставлено». Записи не прийняті сервером: минув добовий термін або відповідь була невідновною (наприклад, доступ відкликано). Замовлення й чеки з цього списку потрібно провести вручну — звіртеся з паперовими чеками зміни.

Замовлення пробили офлайн, а на кухні його немає. Так і має бути: тикет поїде на кухонний екран після відновлення зв'язку. Поки мережі немає, кухню годують друковані тикети.

Чек не друкується офлайн. Отже, річ не в інтернеті: перевірте, що міст на цьому комп'ютері запущено й принтер під'єднано — Cenaly Hardware Bridge. Міст і каса спілкуються в межах однієї машини.

Після відновлення зв'язку з'явилися дублі замовлень. Дублів від досилання бути не може — перевірте, чи не пробили те саме замовлення двічі руками, і скасуйте зайве в розділі «Замовлення».


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

Каса працює без інтернету?#

Так: пробиває замовлення, друкує чеки й фіскалізує їх через міст на тому самому комп'ютері. Усе, що має поїхати в хмару, накопичується в черзі на пристрої й досилається автоматично.

Дані загубляться?#

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

Чи можна пробивати чеки за 54-ФЗ офлайн?#

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

Чому не працює кухонний екран?#

Тикети йдуть через хмару. Локальної мережі між касою й кухонним екраном у нас немає — це свідоме рішення: ми закриваємо автономність каси з друком, а не всю залу. Поки мережі немає, кухню тримають друковані тикети.

Гість зможе відкрити меню, поки в нас немає інтернету?#

Так — вітрина роздається з CDN і не залежить від вашого інтернету. Замовлення, оформлене гостем, дійде до хмари, але в закладі ви побачите його лише після відновлення зв'язку.

Що робити з оплатою карткою?#

Приймати готівку: банківському терміналу потрібна авторизація в банку.

Скільки часу каса витримає без зв'язку?#

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


Пов'язані розділи#

Was this article helpful?