ساختار در دسترس بودن در فیدها

انتخاب فرمت در دسترس بودن

دو راه برای تعیین داده‌های در دسترس وجود دارد: (1) نقاط باز یا (2) تکرار . فقط یک روش را برای استفاده در همه تجار و خدمات خود انتخاب کنید. هنگامی که یک روش را انتخاب کردید، باید برای کل یکپارچه سازی (فیدها، سرور رزرو، و به روز رسانی بلادرنگ) از آن استفاده کنید.

از راهنمای زیر برای کمک به تعیین فرمت در دسترس بودن مناسب تر استفاده کنید:

  • در سیستم خود، آیا در دسترس بودن را به عنوان اسلات های صریح ذخیره می کنید، به عنوان مثال، 8:00 صبح تا 8:30 صبح؟
  • آیا در سیستم خود، در دسترس بودن را در قالبی تکرارشونده ذخیره می‌کنید، به این معنی که تاجران خدماتی دارند که با فرکانس ثابت و با انحرافات کم انجام می‌شوند؟ به عنوان مثال، اسلات ها هر 15 دقیقه از ساعت 9:00 صبح تا 5:00 بعد از ظهر تکرار می شوند و در هر 15 دقیقه فقط یک صندلی در دسترس است.
  • برای خدمات بازرگانان شما، آیا می توان همزمان بیش از یک مکان باز وجود داشت؟ مثلا 30 نقطه باز برای یک کلاس
  • هیچ کدام از موارد بالا صدق نمی کند؟
    • از Spots Open استفاده کنید
    • توجه: در حالی که استفاده از تکرار کارآمدتر است و می‌تواند منجر به اندازه‌های فید کوچک‌تر شود، اگر مدل داده‌های شما به طور بومی از تکرار پشتیبانی نمی‌کند، توصیه نمی‌شود از تکرار استفاده کنید، زیرا باید کل روز را برای هر زمان واقعی دوباره محاسبه کنید. به روز رسانی کنید.

    نقاط باز

    تعاریف پارامترها:

    • spots_open: تعداد نقاط موجود در حال حاضر برای این ورودی در دسترس بودن.
    • spots_total: تعداد کل نقاطی که تاجر برای این پیکربندی دارد، از جمله مواردی که در دسترس نیستند.

    روش Spots Open به صراحت در دسترس بودن هر اسلات را نشان می دهد و از مدل داشتن چندین نقطه برای یک سرویس پشتیبانی می کند. این دو پارامتر با هم کار می کنند تا یک نمایش دیجیتالی از ظرفیت سرویس ایجاد کنند.

    وقتی رزرو اتفاق می‌افتد، تعداد spots_open باید از طریق به‌روزرسانی بیدرنگ 1 کاهش یابد (تعداد spots_total باید ثابت بماند). هنگامی که spots_open = 0، شکاف دیگر نباید نشان داده شود.

    خدمات نمونه

    یک کلاس یوگا یا یک سالن زیبایی دارای پلان های زیر است و هیچ رزرو فعالی ندارد

    شکل 1: پلان طبقه بدون رزرو فعال

    فید در دسترس بودن 2 اسلات در این تاجران به شکل زیر است:

    JSON

        {
          "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: پلان طبقه با یک رزرو فعال

    اکنون کاربر یکی از نقاط را رزرو می کند. هنگامی که رزرو اتفاق می افتد، یک به روز رسانی بیدرنگ برای به روز رسانی در دسترس بودن صادر می شود. در فید در دسترس بودن روزانه بعدی، این رزرو باید منعکس شود. فید در دسترس بودن برای این تاجران برای اسلات 1 سپتامبر 2018 ساعت 4:00:00 بعد از ظهر به وقت گرینویچ، spots_open به میزان 1 کاهش می یابد. اسلات 1 سپتامبر 2018 ساعت 8:00:00 به وقت گرینویچ بدون تغییر باقی می ماند.

    فید اسنیپت با رزرو

    JSON

        {
          "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",
                }
              ]
    }
        

    عود

    تعاریف پارامترها

    • تکرار: نمایش اسلات های در دسترس که به طور مداوم تکرار می شوند.
    • repeat_until_sec: مهر زمانی UTC مربوط به زمان پایان آخرین شکاف که در دسترس بودن آن تکرار می شود.
    • repeat_every_sec: تعداد ثانیه‌های بین شکاف‌های دسترسی متوالی. به عنوان مثال، اگر repeat_every_sec = 1800 (30 دقیقه)، و start_sec از ساعت 9:00 صبح شروع شود، اسلات ها هر 30 دقیقه در ساعت 9:00 صبح، 9:30 صبح، 10:00 صبح و غیره تکرار می شوند.
      • توجه: نیازی به مشخص کردن spots_open و spots_total نیست، هر دو 1 در نظر گرفته می شوند، مگر اینکه یک schedule_exception وجود داشته باشد.

    روش تکراری نشان‌دهنده در دسترس بودن روزانه برای خدماتی است که در فواصل زمانی منظم انجام می‌شوند، به عنوان مثال، سرویسی که هر 30 دقیقه از ساعت 9 صبح تا 5 بعد از ظهر هر روز انجام می‌شود. با تکرار، مدت زمان اسلات، اولین بار در روزی که شکاف اتفاق می‌افتد، هر چند وقت یک‌بار آن شکاف باید تکرار شود و چه زمانی در همان روز باید تکرار نشود را مشخص می‌کنید. توجه: مجموعه جدیدی از اسلات های تکرارشونده باید برای هر روز به طور جداگانه مشخص شود. اگر یک اسلات از قبل در محدوده زمانی رزرو شده است، یک استثنای برنامه را مشخص خواهید کرد. به عنوان مثال هر نیم ساعت از ساعت 9 صبح تا 9 شب به جز از 11:00 صبح تا 11:30 صبح تکرار کنید. هر سرویس منفرد استثنائات زمان‌بندی و تکراری خاص خود را خواهد داشت.

    خدمات نمونه

    یک سالن زیبایی دارای پلان زیر است و هیچ رزرو فعالی ندارد

    شکل 3: پلان طبقات بدون رزرو فعال. فرض می‌کند که در هر سرویس فقط 1 نقطه باز است (مثلاً سالی خدمات کوتاه کردن مو را هر 30 دقیقه ارائه می‌کند، اما می‌تواند هر بار فقط به 1 مشتری مراجعه کند.)

    فید در دسترس بودن برای 1 اسلات در این تاجران به شکل زیر است:

    فید اسنیپت:

    JSON

        {
        "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: پلان طبقات با یک رزرو فعال. فرض می‌کند که در هر سرویس فقط 1 نقطه باز است (مثلاً سالی خدمات کوتاه کردن مو را هر 30 دقیقه ارائه می‌کند، اما می‌تواند هر بار فقط به 1 مشتری مراجعه کند.)

    حالا تصور کنید که یک کاربر در ساعت 12:30 بعد از ظهر یک مدل مو را با سالی رزرو کند. هنگامی که رزرو اتفاق می افتد، یک به روز رسانی بیدرنگ برای به روز رسانی در دسترس بودن صادر می شود. در فید در دسترس بودن روزانه بعدی، این رزرو باید منعکس شود. فید در دسترس بودن برای این تاجران برای سرویسی با مدت زمان 30 دقیقه یک استثنای زمان‌بندی در بین ساعت‌های 12:30 تا 13:00 خواهد داشت.

    فید اسنیپت با رزرو:

    JSON

        {
          "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
                      }
                    }
                  ],
                }
              ]
        }