הסבר על החיוב

במסגרת התנאים של פתרון Last Mile Fleet של הפלטפורמה של מפות Google, עסקה שניתנת לחיוב מתרחשת לאחר השלמת המשימות בהצלחה שקשורים למשלוח.

אובייקט המשימה הוא סוג אובייקט בסיסי שיש לו תפקיד מרכזי ב- מעקב ודיווח על עסקאות שניתנות לחיוב ב-LMFS Deliveries API. לפי התנאים שלנו צריך ליצור מודל של משימות הנהג בצורה נכונה ולתעד את TaskOutcome בהתאם. כך אפשר לוודא שכל העסקאות שניתנות לחיוב מתועד כראוי. ללקוחות עם חוזה, יש לעיין בדיווח הרלוונטי הדרישות בנוגע למוצר:

מהי משימה שניתנת לחיוב?

משימה שניתנת לחיוב היא כל משימה שמשלימה בהצלחה משלוח: העברה של פריט אחד או יותר משולח ייחודי אל נמען ייחודי. אי אפשר לחייב את משימות המשלוח שנכשלו.

בטבלה הבאה מתוארים כמה תרחישים מהעולם האמיתי משימות שלא ניתנות לחיוב.

תרחיש ניתן לחיוב?
נהג ניסה למסור חבילה והניסיון נכשל הפעולה הצליחה. לדוגמה, הנמען קיבל את ההודעה ישירות, או הנהג יצא מהחבילה עם השכן. כן
נהג/ת שלח/ה חבילה מחוץ לחלון הזמן המתוכנן לחבילה הזו. כן
נהג דיווח שהמשלוח בוצע בהצלחה, אבל הנמען מאוחר יותר ערער על קבלת המשלוח. כן
נהג ניסה לשלוח חבילה אבל הניסיון נכשל. עבור לדוגמה, הנמען לא היה בבית חתימה נדרשת, או הכתובת שגויה. לא
נהג יוצא להפסקה או לעצירה מתוזמנת. לא

איך מתבצע החיוב בתוך Deliveries API?

משימה חייבת לעמוד בתנאים הבאים:

  • סוג המשימה מוגדר כdelivery. משימות איסוף לא מובילות לחיוב. והפסקות או עצירות מתוזמנות אינן עומדות בתנאים. כל עסקה שניתנת לחיוב חייבת שמשויכת אליה משימת העברה. איסוף במייל הראשון באיסוף עצמי יכולה ליצור מודל של משימת האיסוף במיקום האיסוף ושל משימת המשלוח לפי מודל שנכלל בתחנה.

  • הערך של TaskOutcome הוא SUCCEEDED.

ממשק ה-API של Last Mile Fleet Solution Deliveries יוצר אירוע לחיוב, בכל פעם שמעודכן TaskOutcome בערך של SUCCEEDED. במקרה כזה, מגדיל את מדד החיוב של המק"ט. כל עדכון נוסף לגבי המשימה הזו לא משפיעים על מדד החיוב הזה, שלא ניתן להגדיל או להקטין אותו אחרי שהתוצאה מוגדרת לראשונה.

איך כדאי לבנות את המודלים של המשימות שלכם?

בקטע הזה מוצגות המלצות בסיסיות שיעזרו לכם לוודא להגדיר בצורה נכונה את המשימות שלך בהתאם לתנאים ולהגבלות שלנו.

  • מגדירים את השדות המתאימים למשימות של משלוחים. סוג המשימה: delivery, צריך להקצות מזהה משימה ייחודי ולציין את המיקום הנכון של המשימה להשלמת כל משימה. חשוב לוודא שלכל משלוח יש משימת מסירה.
  • יצירת משימות נפרדות לכל שילוב של נמען. לדוגמה, להשתמש בשתי משימות עבור נמען יחיד מכמה שולחים. או עבור סינגל יעד משלוח שבו יישלחו כמה חבילות נמענים, ליצור משימות מרובות.
  • הגדרה נכונה של משימות שלא קשורות למשלוח כדי להגדיר עצירות מתוזמנות, צריך להגדיר את המשימה Type עד SCHEDULED_STOP. להפסקות של נהגים, צריך להגדיר את הערך Type לערך UNAVAILABLE.
  • צריך להגדיר את השדה TaskOutcome כמו שצריך. כשהמשימה תסתיים, עליך לוודא שההטמעה שלך מגדירה את TaskOutcome לערך SUCCEEDED או FAILED. עדכון של משימה שהושלמה למצב CLOSED לא נחשב לפעול בהתאם לתנאים שלנו. אפשר להגדיר את תוצאת המשימה באמצעות Driver SDK, gRPC או REST.

מידע נוסף זמין בנושאים הבאים במדריך למשתמש של Fleet Engine: