Ако интернетът изчезне или облакът е недостъпен
Връзката се губи: доставчик, рутер, гръмотевична буря, авария при оператора. Заведението не затваря — гостите стоят на касата. По-долу е описано какво точно продължава да работи, какво не и какво да прави смяната.
Разграничавайте два вида срив, защото се държат по различен начин:
| Какво се случи | Касата в заведението | Гостът отвън |
|---|---|---|
| Изчезнал интернет в заведението | Работи офлайн: маркира, печата, натрупва опашка | Витрината се отваря (тя се раздава от CDN), поръчката отива в облака — но в заведението ще я видят само след възстановяване на връзката |
| Облакът е недостъпен | Същото: касата не различава едното от другото — за нея това е „записът не е изпратен“ | Витрината може да се отвори от кеша, но оформянето на поръчка и плащането няма да минат |
Касата умишлено не се опитва да отгатне причината: всяка мрежова грешка означава „работим локално, записът отива в опашка“.
Какво продължава да работи#
Каса (уеб-POS). Това не е просто кеширана страница, а истинска опашка от записи на устройството:
- поръчката се маркира и отива в опашката от поръчки (живее на касата 24 часа);
- касовата бележка и касовата смяна — собствена опашка от операции (откриване на смяна, внасяне и изтегляне, касова бележка, връщане, затваряне на смяна). Всяка операция има клиентски идемпотентен ключ, затова досилката не дублира нищо;
- смяна, открита офлайн, получава временен номер и продължава да работи: ограничението „без открита смяна плащането е забранено“ действа и офлайн, то брои по локалния кеш;
- меню, цени, маси, справочници се четат от локалния кеш на браузъра — те са попаднали там, докато е имало връзка;
- презареждането на страницата не изхвърля на екрана за вход: касата се отваря в „деградирала сесия“ по локалния снимка и сама се свързва отново, когато мрежата се върне.
Печат. Касовата бележка, кухненският тикет и етикетът се печатат от мост, който стои на същия компютър: касата се обръща към него по локалния адрес на машината — интернет за това не е нужен.
Фискална касова бележка. Ако фискалният касов апарат е свързан към същия компютър, касовата бележка се маркира през моста по същия локален канал: фискалната памет натрупва документи, а операторът на фискални данни ги догонва, когато се появи връзка. За 54-FZ това е щатният режим, а не нарушение.
Екран за вход. Докато в браузъра има скорошна сесия (прозорец — 7 дни), касиерът влиза и работи; изпращането на натрупаното все пак ще изисква истинска авторизация при възстановяване на връзката.
Какво не работи без връзка#
- Кухненски екран (KDS). Тикетите пристигат на него през облака; без интернет новите поръчки няма да стигнат до кухнята — те ще отидат там при възстановяване на връзката. През това време кухнята работи по печатни тикети, ако имате настроен печат за кухнята, или по устно подаване.
- Банков терминал. Плащането с карта изисква авторизация в банката — офлайн няма да мине. Приемайте в брой.
- Онлайн плащане от гост (карта на витрината, плащане на гостова сметка от масата, плащане в киоска) — нужен е достъп до платежния доставчик.
- Втора каса и таблет на сервитьора. Устройствата не се синхронизират помежду си в локалната мрежа: всяко води своя опашка и я досипва само. Общ локален контур („LAN режим“) съзнателно не правим — решение на собственика на продукта: затваряме автономността на една каса с печат.
- X-отчет. Междинният разрез се изчислява на сървъра по продажбите — офлайн касата честно отказва. Смяната може да се затвори, Z-отчетът ще се формира, когато връзката се върне.
- Разделите на админ панела, които изчисляват на сървъра — „Поръчки“, „Финанси“, „Статистика“, „Склад“, „Персонал“. Те четат облака и офлайн показват в най-добрия случай последното, което са успели да прочетат.
- Екран за издаване, табло за опашка, киоск — също облачни повърхности.
Какво да прави персоналът#
- Продължавайте да маркирате. Щом връзката изчезне, на касата се появява кехлибарен банер „офлайн“ и чип „N не са изпратени“. Това е нормален режим: поръчката е приета, касовата бележка е отпечатана, парите са взети.
- Печатайте на госта касова бележка както обикновено. Печатът е локален — хартията излиза.
- Работете на същото устройство и в същия браузър. Опашката лежи на този компютър: да се преместите на втори таблет и „да досипете оттам“ не може.
- Не изчиствайте кеша на браузъра, не излизайте от акаунта, не отваряйте касата в режим инкогнито — така ще изтриете неизпратените поръчки и касови бележки.
- Презареждането на страницата е позволено. Опашката преживява презареждане и рестартиране на браузъра.
- Не маркирайте една поръчка два пъти „за всеки случай“: системата е защитена от дубли при досилка, но две различни поръчки честно ще се броят като две.
- Не приемайте карта — терминалът не авторизира офлайн. В брой, а при желание на госта — гостова сметка за плащане по-късно.
- Червеният банер „N не са доставени“ означава, че част от записите не са отишли дори след възстановяване на връзката (изтекъл срок или сървърът е отказал). Това е повод да повикате управителя, а не да скривате банера.
Какво ще се случи, когато връзката се върне#
Досилката започва сама — по събитието „мрежата се появи“, при връщане в раздела и по таймер.
- Чипът „N не са изпратени“ намалява и изчезва. Поръчките се появяват в раздел „Поръчки“ и на кухненския екран, касовите бележки получават номера, складът се отписва по технологичните карти.
- Дубли няма да има. Всяка поръчка има клиентски идентификатор, всяка касова операция — ключ за идемпотентност; сървърът разпознава повторението и не го прилага втори път.
- Офлайн смяната се замества с истинската. Временният номер на смяната се презаписва с реалния във всички касови бележки и движения, които още стоят в опашката.
- Z-отчетът се формира за смяната, затворена офлайн.
- Нищо не се изтрива мълчаливо. Записите, които не са успели да се доставят (изтекли са 24 часа или сървърът е върнал невъзстановима грешка), отиват в отделен списък „не са доставени“ (съхранява се 7 дни, до 100 записа) и се показват с червен банер с възможност да се скрие ръчно.
Редът се запазва: опашката се досипва последователно, а при временни грешки на сървъра опитът се повтаря с нарастваща пауза.
Ограничения#
- Офлайн е затворен за касата и печатането — и само за тях. Кухненският екран, банковият терминал и синхронизацията между устройствата в локалната мрежа не работят без интернет; пълен LAN контур съзнателно не се прави.
- Опашката е обвързана с устройството и браузъра. Тя се намира в хранилището на конкретния браузър: друг компютър, друг браузър или режим инкогнито не я виждат.
- Животът на опашката е 24 часа за поръчки и касови операции. Повече от денонощие без връзка — записите отиват в списъка „не доставено“, а не изчезват мълчаливо.
- Офлайн сесията живее 7 дни. След това касата ще поиска обичайно влизане, а то без мрежа е невъзможно.
- X-отчет офлайн не е достъпен — той се изчислява на сървъра.
- Гостовите повърхности (витрина, киоск) държат опашка само един час — те са разчетени за краткотраен провал на мобилната мрежа на госта, а не за работа без интернет.
- Android каса. Приемането на поръчка и локалната фискална касова бележка офлайн работят, а записът в регистъра на касовите бележки и касовата смяна офлайн — още не (планирано). Източник на истината офлайн там служи фискалната памет.
- Цялостният тест „извадихме кабела“ на реален фискален регистратор още не е направен. Офлайн режимът на касата е затворен с код и автотестове (включително e2e „офлайн в рамките на сесията“), а проверката на реално оборудване от собственика стои в плана — казваме го направо, а не го представяме за свършено.
Отстраняване на неизправности#
Касата иска да влезете, въпреки че преди е работела. Сесията е по-стара от седем дни или браузърът е бил почистен. Без мрежа не може да се влезе — възстановете връзката.
Чипът „N не са изпратени“ не намалява. Проверете дали връзката наистина се е върнала (отворете който и да е сайт) и оставете раздела на касата активен: досилката се задейства при събитие от мрежата, при връщане към раздела и по таймер. Ако чипът се задържи със същото число — вижте червения банер: част от записите може да са отишли в „не доставено“.
Появи се червен банер „N не доставено“. Записите не са приети от сървъра: изтекъл е еднодневният срок или отговорът е бил невъзстановим (например достъпът е отнет). Поръчките и касовите бележки от този списък трябва да се въведат ръчно — сверете се с хартиените касови бележки от смяната.
Поръчката е пробита офлайн, а в кухнята я няма. Така трябва да бъде: тикетът ще отиде на кухненския екран при възстановяване на връзката. Докато няма мрежа, кухнята се обслужва с печатни тикети.
Касовата бележка не се печата офлайн. Значи причината не е интернетът: проверете дали мостът на този компютър е стартиран и принтерът е свързан — Cenaly Hardware Bridge. Мостът и касата комуникират в рамките на една и съща машина.
След възстановяване на връзката се появиха дублирани поръчки. Дублиране от досилката не може да има — проверете дали една и съща поръчка не е пробита два пъти на ръка, и отменете излишната в раздела „Поръчки“.
Често задавани въпроси#
Касата работи ли без интернет?#
Да: пробива поръчки, печата касови бележки и ги фискализира чрез моста на същия компютър. Всичко, което трябва да отиде в облака, се натрупва в опашка на устройството и се досила автоматично.
Ще се загубят ли данните?#
Не. Опашката преживява презареждане на страницата и рестартиране на браузъра, а това, което не е успяло да се достави, попада във видимия списък „не доставено“, а не изчезва. Може да се загуби само ръчно — чрез почистване на данните на браузъра.
Може ли да се пробиват касови бележки по 54-FZ офлайн?#
Да, ако фискалният регистратор е свързан към същия компютър като моста: фискалната памет натрупва документи и ги предава на оператора на фискални данни, когато се появи връзка. Това е предвиден от закона режим.
Защо не работи кухненският екран?#
Тикетите минават през облака. Локална мрежа между касата и кухненския екран при нас няма — това е съзнателно решение: покриваме автономността на касата с печатане, а не цялата зала. Докато няма мрежа, кухнята се обслужва с печатни тикети.
Ще може ли гостът да отвори менюто, докато нямаме интернет?#
Да — витрината се раздава от CDN и не зависи от вашия интернет. Поръчка, направена от госта, ще стигне до облака, но в заведението ще я видите само след възстановяване на връзката.
Какво да правим с плащането с карта?#
Да приемате в брой: банковият терминал се нуждае от авторизация в банката.
Колко време касата ще издържи без връзка?#
Денонощие за опашката от поръчки и касови операции, седем дни — за сесията. На практика това означава: смяната ще я изработите спокойно.
Свързани раздели#
- Каса (POS) — поръчка, плащане, режими на обслужване и раздел „Работа офлайн“
- Касова смяна и Z-отчет — откриване, движения, X- и Z-отчети
- Cenaly Hardware Bridge — мост на POS компютъра, принтери и фискални регистратори
- Печатане за кухнята — тикети по станции, когато кухненският екран е недостъпен
- Екран на кухнята (KDS) — как тикетите попадат в кухнята
- Първи ден: кафене, ресторант, столова — какво да включите веднага