בחירת פורמט זמינות
יש שתי דרכים לציין את נתוני הזמינות: (1) Spots Open או (2) Recurrence. כדאי לבחור רק שיטה אחת לשימוש בכל המוכרים והשירותים שלכם. אחרי שבוחרים שיטה, צריך להשתמש בה לכל אורך השילוב (פידים, שרת ההזמנות ועדכונים בזמן אמת).
המדריך הבא יעזור לכם לקבוע איזה פורמט זמינות מתאים יותר:
- האם במערכת שלך הזמינות מאוחסנת כמשבצות מפורשות, למשל, 8:00 עד 8:30?
- שימוש במקומות פתוחים
- האם במערכת שלכם אתם שומרים את הזמינות בפורמט קבוע, כלומר למוכרים יש שירותים שמתרחשים בתדירות עקבית עם מעט חריגות? לדוגמה, המשבצות חוזרות על עצמן כל 15 דקות מ-9:00 עד 17:00, ורק מושב אחד זמין בכל חלון של 15 דקות.
- שימוש בתדירות
- האם יכול להיות יותר ממקום אחד פתוח בשירותים של המוכרים שלך בכל פעם? לדוגמה, 30 מקומות פנויים בכיתה
- שימוש במקומות פתוחים
- אף אחת מהאפשרויות האלה לא רלוונטית?
- שימוש במקומות פתוחים
- הערה: השימוש בחזרה יעילה יותר ויכול להוביל לגודל פיד קטן יותר, אבל אם מודל הנתונים שלכם לא תומך באופן מובנה בחזרה, לא מומלץ להשתמש בה, כי תצטרכו לחשב מחדש את כל המיקומים הקבועים למודעות ביום עבור כל עדכון בזמן אמת.
מקומות פנויים
הגדרות הפרמטרים:
- spots_open: מספר המקומות הפנויים כרגע ברשומת הזמינות הזו.
- spots_total: המספר הכולל של המיקומים הווירטואליים של המודעות שיש למוכר בהגדרה הזו, כולל אלה שאינם זמינים.
השיטה Spots Open מציינת במפורש את זמינות כל משבצת, ותומכת במודל של מספר משבצות לאותו שירות. שני הפרמטרים האלה פועלים יחד כדי ליצור ייצוג דיגיטלי של קיבולת השירות.
כשמתבצעת הזמנה, מספר המקומות הפנויים (spots_open) צריך לרדת ב-1 באמצעות עדכון בזמן אמת (מספר המקומות הכולל (spots_total) צריך להישאר ללא שינוי). אחרי ש-spots_open = 0, המיקום לא אמור להופיע יותר.
דוגמאות לשירותים
לשיעור יוגה או לסלון יופי יש את תוכניות הקומה הבאות ואין הזמנות פעילות
תרשים 1: תוכנית קומה ללא הזמנות פעילות פיד הזמינות של 2 משבצות אצל המוכרים האלה ייראה כך:
{ "availability": [ { "spots_total": 6, "spots_open": 6, "duration_sec": 3600, "service_id": "1001", "start_sec": 1535817600, # Sept 1, 2018 4:00:00 PM GMT "merchant_id": "1001" }, { "spots_total": 6, "spots_open": 6, "duration_sec": 3600, "service_id": "1001", "start_sec": 1535832000, # Sept 1, 2018 8:00:00 PM GMT "merchant_id": "1001", } ] }
דוגמאות לשירותים עם הזמנה
איור 2: תוכנית קומה עם הזמנה פעילה אחת עכשיו משתמש מסוים מזמין את אחת מהמקומות. כשמתבצעת הזמנה, מתבצע עדכון בזמן אמת כדי לעדכן את הזמינות. ההזמנה הזו אמורה להופיע בפיד הזמין היומי הבא. בפיד הזמינות של המוכרים האלה, הערך של spots_open יופחת ב-1 עבור המשבצת של 16:00:00 (שעון גריניץ') ב-1 בספטמבר 2018. השקע ב-1 בספטמבר 2018 בשעה 20:00:00 (שעון גריניץ') לא ישתנה.
קטע פיד עם הזמנה
{ "availability": [ { "spots_total": 6, "spots_open": 5, "duration_sec": 3600, "service_id": "1001", "start_sec": 1535817600, # Sept 1, 2018 4:00:00 PM GMT "merchant_id": "1001" }, { "spots_total": 6, "spots_open": 6, "duration_sec": 3600, "service_id": "1001", "start_sec": 1535832000, # Sept 1, 2018 8:00:00 PM GMT "merchant_id": "1001", } ] }
חזרה
הגדרות של פרמטרים
- recurrence: ייצוג של חלונות זמינות חוזרים באופן עקבי.
- repeat_until_sec: חותמת הזמן בשעון UTC של שעת הסיום של המרווח האחרון שבו הזמינות חוזרת על עצמה.
- repeat_every_sec: מספר השניות בין חלונות זמינות רצופים. לדוגמה, אם הערך של repeat_every_sec הוא 1800 (30 דקות) והערך של start_sec הוא 9:00, המודעות יוצגו בכל שעה עגולה (9:00, 9:30, 10:00 וכו') כל 30 דקות.
- הערה: אין צורך לציין את הערכים של spots_open ו-spots_total, כי ההנחה היא שהם יהיו 1, אלא אם יש schedule_exception.
שיטת המחזור מציינת את הזמינות היומית של שירותים שמתרחשים במרווחי זמן קבועים, למשל שירות שמתרחש כל 30 דקות מ-9:00 עד 17:00 בכל יום. כשמשתמשים באפשרות של חזרה, צריך לציין את משך הזמן של המשבצת, את המועד הראשון ביום שבו המשבצת מתרחשת, את תדירות החזרה של המשבצת ואת המועד באותו יום שבו היא תפסיק לחזור. הערה: צריך לציין קבוצה חדשה של משבצות קבועות לכל יום בנפרד. אם כבר הוזמן זמן בטווח הזמן הזה, תצטרכו לציין חריגה בלוח הזמנים. לדוגמה, חזרה כל חצי שעה מ-9:00 עד 21:00, מלבד מ-11:00 עד 11:30. לכל שירות יהיו חזרות ותזמונים חריגים משלו.
דוגמאות לשירותים
למכון יופי יש את תוכנית הקומה הבאה ואין בו הזמנות פעילות
איור 3: תוכניות קומות ללא הזמנות פעילות. ההנחה היא שיש רק מקום אחד פנוי לכל שירות (לדוגמה, שירלי מעניקה שירותי תספורת כל 30 דקות, אבל היא יכולה לטפל רק בלקוח אחד בכל פעם). פיד הזמינות של משבצת אחת אצל המוכרים האלה ייראה כך:
קטע קוד של פיד:
{ "availability": [ { "merchant_id": "1001", "service_id": "1001", # haircut "start_sec": 1493888400, # May 4, 2017 9:00:00 AM GMT "duration_sec": 1800, "recurrence": { "repeat_every_sec": 1800, "repeat_until_sec": 1493915400 # May 4, 2017 4:30:00 PM GMT } } ] }
דוגמאות לשירותים עם הזמנה
איור 4: תוכניות קומות עם הזמנה פעילה אחת. ההנחה היא שיש רק מקום אחד פנוי לכל שירות (לדוגמה, שירלי מעניקה שירותי תספורת כל 30 דקות, אבל היא יכולה לטפל רק בלקוח אחד בכל פעם). עכשיו נניח שמשתמש מזמין תספורת אצל עדי בשעה 12:30. כשמתבצעת הזמנה, מתבצע עדכון בזמן אמת כדי לעדכן את הזמינות. ההזמנה הזו אמורה להופיע בפיד הזמין היומי הבא. בפיד הזמינות של המוכרים האלה תהיה החרגה לתזמון בשעות 12:30 עד 13:00 לשירות באורך 30 דקות.
קטע טקסט של פיד עם הזמנה:
{ "availability": [ { "merchant_id": "1001", "service_id": "1001", "start_sec": 1493888400, # May 4, 2017 9:00:00 AM GMT "duration_sec": 1800, "recurrence": { "repeat_every_sec": 1800, "repeat_until_sec": 1493915400 # May 4, 2017 4:30:00 PM GMT }, "schedule_exception": [ { "time_range": { "begin_sec": 1493901000, # May 4, 2017 12:30:00 PM GMT "end_sec": 1493902800 # May 4, 2017 1:00:00 PM GMT } } ], } ] }