הגדרת המבנה של נתוני הזמינות של ההזמנות

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

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

  • party_size: מספר הסועדים שאפשר לכלול במשבצת הזמן הזו. אפשר לשייך מסעדה לכמה יחידות קיבולת (Slot) בו-זמנית, כאשר כל אחת מהן מציינת 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