Качете веднъж, получете уведомление преди да изтекат. Manager-uploaded only (анти social-engineering); персоналът вижда копия на телефона си; expiry watcher ви page-ва 30/14/3 дни напред.
Документите на персонала е compliance слоят на модул Персонал в Ordering.Tools. За всеки член на екипа следите документите, които доказват, че имат право да работят при вас — трудов договор + НАП уведомление, свидетелство за съдимост, здравна книжка, food handler сертификат, разрешение за работа и карта за пребиваване за non-EU персонал, плюс всякакви „OTHER“ free-form документи. Качете файла; задайте issued / expires дати; маркирайте verified след като сте видели оригинала. Платформата ви alert-ва 30 / 14 / 3 дни преди да изтече всеки документ.
Умишлено не auto-pull-ваме от BG government APIs (няма публичен за свидетелства за съдимост; ГРАО регистърът не е достъпен; portal-scraping е privacy minefield). Каквото правим: следим документа, който служителят вече има. Manager uploads only — персоналът не може да upload-ва свои (анти social-engineering); персоналът вижда копията си на телефона в read-only режим. Expiry watcher работи нощно и page-ва мениджъра чрез web-push и email на 30 / 14 / 3 / 0 / +1 ден от expires-at boundary.
Позволяване на персонал да upload-ват документи е вектор за phishing и forgery. Ordering.Tools изисква мениджърът да upload-ва след виждане на оригинала — audit log-ът записва кой upload-на, кога и (когато verified) кой attest-на, че е видял оригинала. Forged документи се хващат при източника.
Персоналът отваря My Documents на телефона и вижда какво е на файл: вид, issue дата, expiry дата, verification статус. Могат да планират подновяване на здравната си книжка преди да изтече; не трябва да питат HR всеки път.
cron:nightly runner-ът sweep-ва всеки документ с expiresAt и ги изплува в правилните прозорци. Мениджърът получава web-push на 30 дни напред, email на 14 и 3, и daily reminder, докато документът не бъде заменен.
На заведение, маркирайте кои видове документи са „required“ (блокират насрочване когато липсват или изтекли) срещу „tracked“ (само alert). Здравна книжка е required за кухненски персонал в България; карта за пребиваване е tracked, но не блокираща, докато не изтече.
Превключете enableStaffCompliance в Персонал → Настройки. Documents tab в dossier-а на всеки служител става видим; expiry watcher-ът започва да работи нощно.
Отворете staff dossier → Documents tab → New. Изберете вида (CRIMINAL_RECORD / EMPLOYMENT_CONTRACT / WORK_PERMIT / HEALTH_BOOK / FOOD_HANDLER_CERT / RESIDENCE_CARD / OTHER). Качете файла (PDF или JPG, ≤10 MB, EXIF-stripped server-side). Задайте issuedAt + expiresAt.
След като сте видели оригиналния документ лично, кликнете Verified. Системата записва verifiedById + verifiedAt. От този момент документът е trusted; персоналът и мениджърите виждат зеления Verified badge.
30 дни преди изтичането watcher-ът ви web-push-ва. Планирайте подновяването. Качете новия документ. Старият става част от audit trail (запазен, не изтрит); новият става активен.
Default kind set покрива всеки legal артефакт, който BG hospitality работодател следи: договор + НАП уведомление, свидетелство за съдимост, здравна книжка, food handler сертификат, разрешение за работа, карта за пребиваване, плюс OTHER за всичко друго.
Персоналът не може да upload-ва — route-ът връща 403. Мениджърите могат; StaffAuditLog записва кой upload-на, кога, какъв вид и (когато verified по-късно) кой verified. Forged или self-uploaded документи са невъзможни.
Качените файлове отиват в AWS S3 със signed URL. Server-side EXIF strip премахва camera GPS и metadata преди storage. Файловете никога не се индексират от търсачки (S3 ACL: private). Signed-URL retrieval държи access log на заявка.
Всяка нощ watcher-ът sweep-ва документи с expiresAt и ги групира в 30/14/3/0/+1 day buckets. Counts изплуват в cron logs; web-push + email alerts dispatch чрез съществуващия notification pipeline.
BG food-handler health books се подновяват годишно. Watcher-ът ping-ва мениджъра 30 дни преди expiry на всеки кухненски служител. Мениджърът планира медицинското посещение; подновената книжка се качва; старата става audit-trail.
Ден 1 на нов сервитьор: правите снимки на свидетелството за съдимост, договора и здравната книжка. Качвате трите от телефона за 90 секунди. Маркирате verified. Системата следи renewal датите за вас завинаги след това.
Инспектор се появява петък обяд. „Къде са здравните книжки на персонала?“ Отворете Персонал → Членове, кликнете всеки кухненски служител, Documents tab. Всяка здравна книжка е на файл с verification дати. Инспекцията отнема 4 минути вместо 40.
Картата за пребиваване на non-EU сервитьор изтича след 60 дни. Watcher-ът ви ping-ва на 30 дни; напомняте на служителя да поднови; той донася новата карта след 21 дни; качвате, verified, маркирате активна. Без изненадваща legal exposure.
Маркирайте здравна книжка като required за KITCHEN роля. Кухненски наемник, чиято здравна книжка липсва или е изтекла, не може да бъде насрочен (rota grid-ът изплува warning). Блокът предотвратява случайни compliance нарушения по време на насрочване.
Служител отваря My Documents, вижда, че свидетелството му за съдимост изтича след 25 дни, планира пътуването до съда, донася новия сертификат. Мениджърът качва, маркира verified. Без HR ескалация, без пропусната expiry.
Повечето „compliance“ софтуер за ресторанти е театър — иска от персонала да upload-ва свои документи, което означава, че гневен служител може да upload-не forged contract и системата щастливо го приема. Или се опитва да се интегрира с government APIs, които не съществуват (няма публичен BG criminal-record API; ГРАО не е достъпен; съдилищата нямат write API). Ordering.Tools избира умишлен middle path: следим документа, който служителят вече има, manager-uploads only, expiry watcher работи нощно, audit trail записва всяко качване и verification. Резултатът е compliance, което всъщност се използва, защото не моли никого да направи нещо фалшиво.
Ако персоналът може да upload-ва свои документи, нямате защита срещу forgery. Сервитьор, уволнен за кражба, не може да се присъедини отново под друго име с self-uploaded свидетелство за съдимост, което всъщност е Photoshopped image на някой друг. Manager-only uploads с verified flag означава, че винаги има реален човек, attest-ващ, че е видял оригинала. Тази attestation е timestamped и auditable. Ако регулатор по-късно поставя въпроси за наем, audit trail назовава мениджъра, който verified документа и кога.
Няма Checkr-equivalent за BG. BG съдилища не експонират публичен criminal-record API. ГРАО регистърът не е достъпен за частни parties. НОИ порталът изисква служителски SSO consent + electronic signature за всяко четене. Portal-scraping е fragile и privacy minefield. Помагаме да следите документа, който служителят вече има — това е реалистичният, етичен, sustainable отговор. Добавянето на фалшива API интеграция, която се чупи всеки шест месеца когато правителството редизайнва портала си е по-зле от да нямате такава.
Защо тези specific интервали? 30 дни е lead time, който повечето подновявания изискват (медицинско посещение за здравна книжка, съдебно явяване за свидетелство за съдимост). 14 дни е „приближаваме“ reminder. 3 дни е „сега или никога“ — мениджърът сваля служителя от rota, ако не е планирал подновяване. 0 дни е day-of alert. +1 ден е post-expiry trail — документът сега е изтекъл, служителят не трябва да работи в роли, изискващи го, мениджърът е получил уведомление пет пъти. Каденсът не е произволен; той съответства на BG регулаторни renewal timelines и дава на всяка страна fair warning.