עיצוב נתוני זמינות להזמנות

הגדרות של פרמטרים

כפי שמפורט בהגדרה של Availability:

  • party_size: מספר האנשים שאפשר לארח במהלך חלון הזמן הזה. אפשר לשייך מסעדה למספר משבצות באותו זמן, וכל אחת מהן תציין ערך שונה של party_size, אם למשל אפשר לשבת במסעדה עם 2, 3 או 4 אנשים בהזמנה.
  • spots_open: מספר המקומות הזמינים כרגע ברשומת הזמינות הזו
  • spots_total: המספר הכולל של המיקומים הזמינים למוכרים בתצורה הזו (כולל אלה שאינם זמינים)

שלושת הפרמטרים האלה פועלים יחד כדי ליצור ייצוג דיגיטלי של תוכנית הקומה. party_size הוא מספר האנשים שכל שולחן יכול להכיל (תהיה רשומה לכל גודל ששולחן יכול להכיל). spots_open ו-spots_total הם מספר הטבלאות שיכולות להכיל את party_size.

דוגמה לתוכנית קומה ריקה

נניח שיש מסעדה עם תוכנית הקומה הבאה ואין בה הזמנות פעילות:

איור 1: תוכנית קומה ללא הזמנות פעילות
תרשים 1: תוכנית קומה ללא הזמנות פעילות

הערכים של party_size,‏ spots_open ו-spots_total יהיו:

party_size spots_open spots_total
4 3 3
5 3 3
6 4 4
7 1 1
8 1 1

פיד הזמינות של חלון זמן אחד אצל המוכר הזה ייראה כך:

JSON

{
  "availability": [
        {
          "spots_total": 3,
          "spots_open": 3,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 4
          }
        },
        {
          "spots_total": 3,
          "spots_open": 3,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 5
          }
        },
        {
          "spots_total": 4,
          "spots_open": 4,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 6
          }
        },
        {
          "spots_total": 1,
          "spots_open": 1,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 7
          }
        },
        {
          "spots_total": 1,
          "spots_open": 1,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 8
          }
        }
      ]
}

דוגמה לתוכנית קומה עם הזמנה

עכשיו נניח שאחד מהשולחנות העגולים הוזמן:

איור 2: תוכנית קומה עם הזמנה פעילה אחת
איור 2: תוכנית קומה עם הזמנה פעילה אחת

הערכים של party_size,‏ spots_open ו-spots_total יהיו עכשיו:

party_size spots_open spots_total
4 2 3
5 2 3
6 3 4
7 1 1
8 1 1

JSON

{
  "availability": [
        {
          "spots_total": 3,
          "spots_open": 2,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 4
          }
        },
        {
          "spots_total": 3,
          "spots_open": 2,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 5
          }
        },
        {
          "spots_total": 4,
          "spots_open": 3,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 6
          }
        },
        {
          "spots_total": 1,
          "spots_open": 1,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 7
          }
        },
        {
          "spots_total": 1,
          "spots_open": 1,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 8
          }
        }
      ]
}

ציון הזמינות של המסעדה באמצעות תמיכה בטבלאות משולבות

יש הרבה דרכים שבהן מסעדה יכולה לשלב שולחנות כדי לתמוך בקבוצות גדולות יותר. אתם אמורים לציין בפיד את הערכים של spots_open ו-spots_total באופן שמשקף במדויק אם אתם יכולים לארח קבוצות של גודל נתון. בהמשך מופיעה דוגמה אחת לאופן שבו אפשר לציין שילוב של טבלאות. יכול להיות שהחישוב הזה יתבצע באופן שונה בפיד אחד לעומת פיד אחר, ואפשר לציין את הערכים של spots_open ו-spots_total באופן שמתאים ללוגיקה העסקית שלכם.

אם המסעדה תומכת בשילוב של שולחנות כדי ליצור קבוצה גדולה יותר, תוכלו לעדכן את השדות spots_open ו-spots_total כך שישקפו זאת.

נניח שמסעדה יכולה לשלב שני שולחנות קטנים כדי לארח קבוצה של 7-10 אנשים.

איור 3: תוכנית קומה ללא הזמנות פעילות
איור 3: תוכנית קומה ללא הזמנות פעילות

אם אין הזמנות פעילות, הערכים של party_size,‏ spots_open ו-spots_total הם:

party_size spots_open spots_total
4 3 3
5 3 3
6 4 4
7 1 1
8 1 1
9 1 1
10 1 1

עכשיו, באותו תוכנית קומה, מתבצעת הזמנה ל-10 אנשים שמשלבת שני שולחנות קטנים.

איור 4: תוכנית קומה עם הזמנה פעילה אחת שכוללת שני שולחנות
איור 4: תוכנית קומה עם הזמנה פעילה אחת שכוללת שתי שולחנות

לאחר מכן, הערכים של party_size,‏ spots_open ו-spots_total יהיו:

party_size spots_open spots_total
4 1 3
5 1 3
6 2 4
7 1 1
8 1 1
9 0 1
10 0 1