תקציר מנהלים
למה המוצר קיים
הבעיה
קמפיין מתנות מפגיש לקוחות, עמדות, הנהלת קניון, חנויות וספקים סביב החלטה כספית בזמן אמת. ללא מערכת מרכזית נוצרים רישום כפול, טעויות הקלדה, חריגה ממכסה, תורים ללא בעלות וחוסר יכולת להסביר בדיעבד מי החליט ומה.
חזון
לאפשר לכל קניון להפעיל קמפיין קבלות מהיר, מבוקר ומדיד — בחוויה פשוטה ללקוח, עם כלי עבודה יעילים לצוות ואכיפה אמינה של פרטיות, זכאות ומכסה.
עקרון מוצר
האוטומציה מציעה ומסננת; אדם מורשה מקבל את ההחלטה הסופית. ספק מתנות לעולם אינו נקרא לפני commit.
OCR, חיפוש לקוח וזרימה מותאמת לנייד ולעמדה.
כפילויות, סף ומכסה נאכפים בגבול אטומי.
החלטות רגישות מקושרות לשחקן האמיתי ב-audit.
כל מידע תפעולי תחום לקניון אחד, גם על תשתית משותפת.
מסע הליבה
מתמונה לזכאות — בלי קיצורי דרך
זהות
צוות נכנס בחשבון אישי; לקוח מאמת טלפון ב-SMS.
קליטה
מעלים 1–10 קבלות, מתקנים OCR ובוחרים חנות.
בדיקות
השרת בודק סף, יום עסקי, כפילויות ומכסה.
הכרעה
סוקר מאשר או דוחה כל קבלה, עם נימוק מלא.
זכאות
נוצר שריון מתנה רק אם הסכום המאושר עומד בכללים.
שני ערוצי כניסה, אותו גבול החלטה. הרשמה מ־/station והרשמה מ־/customer מגיעות לאותו סטטוס manual_review ולאותו תור בדיקה.
קהלי יעד והרשאות
כל משתמש רואה רק את מרחב העבודה שלו
לקוח/ה
customerאימות SMS, העלאת קבלות, מעקב אחר סטטוס ושמירת פרופיל אופציונלי — ללא חשבון צוות.
עמדת שירות
attendantחיפוש לקוח, אימות טלפון וקליטת הרשמה. אין סמכות לאשר או לדחות קבלה.
סוקר/ת
reviewerבדיקה והכרעה ברמת קבלה, כולל דחייה מנומקת וביטול החלטה בתנאים המותרים.
ניהול קניון וארגון
mall / organization adminתפעול קמפיין, צוות, חנויות, דוחות ותור בדיקות בגבולות הקניונים שהוקצו.
מנהל/ת מערכת
platform_adminניהול גלובלי של המבנה, המשתמשים והקמפיינים, לצד כלי תמיכה, audit ו-Sandbox.
דרישות פונקציונליות
החוזה המוצרי
IDENTITYזהות וגישה
- צוות נכנס בחשבון אישי; הרשאה נגזרת מפרופיל ומתפקיד בקניון, ולא מ-metadata של המשתמש.
- בקשת משתמש צוות אינה מעניקה גישה לפני אימות אימייל ואישור מנהל מערכת.
- לקוח מזדהה בקוד SMS בן ארבע ספרות ומקבל capability חתומה וקצרת-חיים, ללא Supabase Auth session.
- כל פעולה מוגנת בודקת גם תפקיד וגם tenant; בחירת קניון בממשק אינה מעניקה הרשאה.
RECEIPTSקבלות ו-OCR
- הרשמה כוללת 1–10 קבלות, ולכל קבלה נדרשת תמונת JPG, PNG או WebP תקינה עד 10MB.
- OCR מציע חנות, מספר, תאריך, סכום, מטבע וסימני אזהרה; המשתמש נשאר אחראי לאימות ולתיקון.
- העתק, אי-התאמת תאריך או חשבונית עסקה מוצגים כאזהרה ואינם חוסמים שליחה לבדיקה.
- חנות שאינה ברשימה ניתנת להזנה כחריגה גלויה, ללא שיוך שקט לחנות אחרת.
ELIGIBILITYהרשמה וזכאות
- השרת קובע יום עסקי לפי אזור הזמן ושומר כסף ביחידות הקטנות של המטבע בלבד.
- סף, חנויות, כפילויות, מכסת קמפיין ו-idempotency נאכפים לפני יצירת זכאות.
- כל הרשמה חיה נוצרת ב-manual_review; אין מסלול שמדלג על החלטה אנושית.
- זכאות למתנה נוצרת רק בהחלטה סופית מזכה, במסגרת פעולה אטומית שמעדכנת גם את המכסה.
REVIEWבדיקה ידנית
- סוקר רואה תמונת קבלה בקישור חתום וקצר-חיים ומחליט לכל קבלה בנפרד או לכל הממתינות יחד.
- דחייה דורשת סיבה; כל עוד נותרה קבלה pending, ההרשמה נשארת בתור.
- אישור חלקי מעניק מתנה רק אם סכום הקבלות שאושרו לבדו עדיין עומד בסף.
- אפשר לבטל החלטה כל עוד לא הונפק שובר בפועל; שריון בלבד נמחק והמכסה מוחזרת.
MANAGEMENTניהול ותפעול
- מנהל רואה תמונת מצב, הרשמות, בדיקות, זכאויות, חנויות, צוות, דוחות וקמפיינים לפי קניון.
- מנהל מערכת מנהל ארגונים, קניונים, עמדות, שעות פעילות, חנויות, משתמשים וסוגי הטבה.
- יצוא XLSX, החלטות בדיקה ושינויים רגישים נרשמים ביומן ביקורת עם השחקן האמיתי.
- כלי תמיכה כוללים צפייה בתור משתמש ל-30 דקות, Sandbox לתמונות יתומות ויומן שגיאות מחוטא.
EXPERIENCEחוויית שימוש
- כל המסכים בעברית וב-RTL, מותאמים לנייד ולעמדת שירות, עם ניווט מקלדת ומצבי focus גלויים.
- אין לבקש GPS אוטומטית; המיקום משמש להצעה בלבד ואינו נשמר.
- שגיאות מנוסחות כפעולה שניתן לבצע, בלי לחשוף אם טלפון או משתמש קיימים.
- המערכת מציגה בבירור אם יכולת פעילה, חלקית, במצב הדגמה או ממתינה לספק חיצוני.
כללים ומכונות מצבים
מה נחשב החלטה סופית
כללי יסוד
- טלפון מנורמל לפני hashing והשוואה.
- קבלה אינה ניתנת לשימוש חוזר בקמפיין.
- סכום זכאי מחושב רק מקבלות שאושרו.
- קבלה עם תאריך שונה או חנות חריגה עוברת לבדיקה — לא נדחית אוטומטית.
- שעות עמדה נאכפות לפי היום, השעה ואזור הזמן; משמרת יכולה לחצות חצות.
- סטטוס חלקי חוסם הרשמה יומית נוספת כאשר ניתנה זכאות.
מצבי הרשמה
manual_reviewכל הקבלות טרם הוכרעו
acceptedכל הקבלות אושרו
partially_acceptedשילוב של קבלות מאושרות ונדחות
rejectedלא אושרה אף קבלה
אבטחה, פרטיות וארכיטקטורה
ההרשאה אינה נשענת על המסך
PII וסודות
מידע אישי מוצפן; טלפונים מושווים ב-HMAC. סודות נשארים בצד שרת ואינם נכנסים ל־NEXT_PUBLIC_, למסמכים או ללוגים.
בידוד קניונים
כל שורה תפעולית נושאת tenant_id. השרת בודק membership ומסד הנתונים מוסיף RLS או פונקציה מאובטחת.
שחקן אמיתי
במצב “צפייה בתור” הממשק משתנה, אך הפעולה ממשיכה להירשם על מנהל המערכת האמיתי ואינה מזייפת JWT.
שמירת תמונות
הקבצים פרטיים, מוצגים בקישור חתום לחמש דקות ונמחקים בסיום ההחלטה; תמונות יתומות ניתנות לאבחון ולמחיקה.
נתיבי המוצר
/customer/login/register/guide/tech-stack/prd
/welcome/station/manager/account
/admin/users/admin/sandbox/admin/error-log
מצב המימוש
מה פעיל, ומה עדיין דורש עבודה
ליבת המוצר
- שני ערוצי הרשמה: עמדה ושירות עצמי
- OTP לקוחות וצוות, חיפוש לקוח ושער אימות בעמדה
- OCR חי עם תיקון ידני ואזהרות מסמך
- תור בדיקה משותף והכרעה ברמת קבלה
- מניעת כפילויות, ניהול מכסה וזכאות אטומית
- ניהול multi-tenant, משתמשים, חנויות וקמפיינים
- דוחות, XLSX, audit, Sandbox ויומן שגיאות
גבולות ידועים
- אין עדיין הנפקת שובר חיה דרך BuyMe או ספק מתנות אחר.
- עורך מלא ל-JSON של חוקי הקמפיין ואכיפתם בקוד עדיין חסרים.
- הוכחת OTP של העמדה נאכפת כיום בממשק, אך לא נישאת עדיין בחוזה ה-API.
- ניקוי אוטומטי מתוזמן לתמונות OCR יתומות טרם הופעל.
- הגרלות, קופוני דייר ומלאי מתנות פיזיות הם הרחבות עתידיות.
המערכת יוצרת כיום gift entitlement שמור, אך אינה מנפיקה קופון חי. חיבור ספק יתחיל רק לאחר חוזה sandbox מאושר הכולל idempotency, שגיאות, retry, reconciliation וסטטוסים.
מדידה והמשך הדרך
איך נדע שהמוצר מצליח
משך חציוני מאימות טלפון ועד שליחת הרשמה.
שיעור קבלות שבהן הצעת OCR התקבלה ללא תיקון.
זמן חציוני בתור ושיעור הכרעות עם נימוק מלא.
כפילויות שנחסמו, חריגות מכסה ואירועי cross-tenant — היעד האחרון הוא אפס.
- עכשיו
הקשחת הליבה
אכיפת הוכחת OTP בעמדת השירות, ניקוי אוטומטי, בדיקות E2E ועומס.
- הבא
חוקי קמפיין מלאים
עורך rules, versioning ברור, ולידציה וניתוח דוחות תפעולי.
- לאחר חוזה
הנפקת מתנות חיה
Adapter לספק, retry, reconciliation, webhook ומסכי תפעול כשל.
- הרחבה
מוצרי קמפיין נוספים
הגרלות, קופוני דייר ומתנות פיזיות — כל אחד כמודול נפרד.
ספק המתנות וה-SLA שלו; מדיניות retention מחייבת; כללי קמפיין מעבר לסף בסיסי; התנהגות לקוח בכשל SMS; והגדרת תהליך rollback במקרה של כשל אחרי הנפקה.