फ़ीड में उपलब्धता को शामिल करना

उपलब्धता का फ़ॉर्मैट चुनना

खरीदारी के लिए उपलब्धता के डेटा की जानकारी देने के दो तरीके हैं: (1) Spot Open या (2) दोहराव. अपने सभी व्यापारियों/कंपनियों और सेवाओं में इस्तेमाल करने के लिए, सिर्फ़ एक तरीका चुनें. तरीका चुनने के बाद, पूरे इंटिग्रेशन (फ़ीड, बुकिंग सर्वर, और रीयल-टाइम अपडेट) के हिसाब से बदलाव करें.

नीचे दी गई गाइड का इस्तेमाल करके तय करें कि उपलब्धता का कौनसा फ़ॉर्मैट ज़्यादा सही है:

  • क्या आपके सिस्टम में, उपलब्धता को अश्लील स्लॉट के तौर पर सेव किया जाता है, जैसे कि सुबह 8:00 बजे से सुबह 8:30 बजे तक?
  • आपके सिस्टम में, क्या आप हर बार उपलब्ध होने वाले फ़ॉर्मैट में उपलब्धता को सेव करते हैं, जिसका मतलब है कि व्यापारियों या कंपनियों को ऐसी सेवाएं मिलती हैं जो थोड़ी-बहुत कम होती हैं? उदाहरण के लिए, स्लॉट हर 15 मिनट में सुबह 9:00 बजे से शाम 5:00 बजे तक दोहराए जाते हैं और हर 15 मिनट की बढ़ोतरी में सिर्फ़ एक सीट उपलब्ध होती है.
  • क्या आप अपने व्यापारियों/कंपनियों की सेवाओं के लिए, एक बार में एक से ज़्यादा जगहों की जानकारी शेयर कर सकते हैं? उदाहरण के लिए, किसी कक्षा के लिए 30 खुली जगहें
  • इनमें से कोई भी विकल्प लागू नहीं होता?
    • स्पॉट खोलने की सुविधा इस्तेमाल करें
    • ध्यान दें: हालांकि, दोहराए जाने की सुविधा का इस्तेमाल ज़्यादा असरदार होता है, जिससे फ़ीड का साइज़ छोटा हो सकता है. हालांकि, अगर आपका डेटा मॉडल मूल रूप से बार-बार होने वाले फ़ंक्शन का इस्तेमाल नहीं करता है, तो हम आपको बार-बार दोहराए जाने की सुविधा इस्तेमाल करने का सुझाव नहीं देते. ऐसा इसलिए, क्योंकि आपको हर रीयल टाइम अपडेट के लिए, पूरे दिन और समय-समय पर होने वाले स्लॉट की फिर से गिनती करनी होगी.

    Spots खुला है

    पैरामीटर की परिभाषाएं:

    • Spot_open: इस उपलब्धता एंट्री के लिए, फ़िलहाल उपलब्ध स्पॉट की संख्या.
    • Spot_total: इस कॉन्फ़िगरेशन के लिए व्यापारी/कंपनी के पास मौजूद स्पॉट की कुल संख्या. इसमें उन जगहों की जानकारी भी शामिल है जो उपलब्ध नहीं हैं.

    Spots खोलने का तरीका, हर स्लॉट की उपलब्धता के बारे में साफ़ तौर पर बताता है. साथ ही, यह एक ही सेवा के लिए कई जगहों वाले मॉडल के साथ काम करता है. सेवा की क्षमता को डिजिटल तरीके से दिखाने के लिए, ये दोनों पैरामीटर एक साथ काम करते हैं.

    जब बुकिंग होती है, तो रीयल टाइम अपडेट के ज़रिए Spot_open की संख्या में 1 की कमी होनी चाहिए. एक बार Spot_open = 0 होने पर, स्लॉट नहीं दिखना चाहिए.

    सेवाओं के उदाहरण

    योग की कक्षा या ब्यूटी सलोन के लिए, नीचे दिए गए फ़्लोर प्लान उपलब्ध हैं और कोई बुकिंग उपलब्ध नहीं है

    पहली इमेज: फ़्लोर प्लान, जिसमें कोई बुकिंग नहीं है

    इन व्यापारियों/कंपनियों के लिए, दो स्लॉट के लिए उपलब्धता फ़ीड कुछ ऐसा दिखेगा:

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

    बुकिंग के साथ सेवाओं के उदाहरण

    दूसरी इमेज: एक चालू बुकिंग वाला फ़्लोर प्लान

    अब कोई उपयोगकर्ता किसी एक स्पॉट को बुक करता है. बुकिंग होते ही, उपलब्धता को अपडेट करने के लिए एक रीयल टाइम अपडेट जारी किया जाता है. हर दिन उपलब्ध होने वाले अगले फ़ीड में, यह बुकिंग दिखाएं. इन व्यापारियों/कंपनियों के लिए उपलब्धता फ़ीड में 1 सितंबर, 2018 की शाम 4:00:00 बजे जीएमटी स्लॉट के लिए Spot_open की जगह कम हो जाएगी. 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: आखिरी स्लॉट के खत्म होने के समय का यूटीसी टाइमस्टैंप, जब तक उपलब्धता फिर से दोहराई जाती है.
    • अहमियत कम करने वाले स्लॉट के बीच, सेकंड की संख्या.
    • ध्यान दें: Spot_open और Spot_total बताने की कोई ज़रूरत नहीं है. दोनों को 1 तब तक माना जाता है, जब तक कि कोई Schedule_exception नहीं है

बार-बार होने वाले तरीके से उन सेवाओं की उपलब्धता के बारे में पता चलता है जो नियमित तौर पर अंतरालों पर होती हैं. उदाहरण के लिए, हर 30 मिनट में सुबह 9:00 से शाम 5:00 बजे तक होने वाली सेवा. बार-बार होने वाले इवेंट से यह तय होता है कि स्लॉट की अवधि क्या होगी. यह भी बताया जाता है कि स्लॉट किस दिन पहली बार दोहराया जाता है और किस दिन दोहराया जाना चाहिए. ध्यान दें: हर दिन के लिए, बार-बार होने वाले स्लॉट के एक नए सेट की अलग से जानकारी दी जानी चाहिए. अगर कोई समयसीमा पहले ही समयसीमा में बुक कर दी गई है, तो आप शेड्यूल अपवाद की जानकारी देंगे. उदाहरण के लिए, हर आधे घंटे को सुबह 9 बजे से रात 9 बजे तक सुबह 11:00 से 11:30 बजे तक को छोड़कर. हर सेवा अपने-आप दोहराए जाने और शेड्यूल करने से जुड़े अपवाद होगी.

सेवाओं के उदाहरण

ब्यूटी पार्लर में यह फ़्लोर प्लान मौजूद है. फ़िलहाल, कोई बुकिंग उपलब्ध नहीं है

तीसरी इमेज: फ़्लोर प्लान जिनमें कोई बुकिंग नहीं है. {0}यह माना जाता है कि हर सेवा के लिए सिर्फ़ एक जगह खुली है (उदाहरण के लिए, सैली हर 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
            }
          }
        ]
    }
    

बुकिंग के साथ सेवाओं के उदाहरण

चौथी इमेज: फ़्लोर प्लान जिनमें एक ही बुकिंग शामिल है. {0}यह माना जाता है कि हर सेवा के लिए सिर्फ़ एक जगह खुली है (उदाहरण के लिए, सैली हर 30 मिनट में हेयरकट की सेवाएं देती हैं, लेकिन एक बार में सिर्फ़ 1 ग्राहक ही शामिल हो सकते हैं).)

अब मान लें कि एक उपयोगकर्ता दोपहर 12:30 बजे सैली का बाल काटता है. बुकिंग होते ही, उपलब्धता को अपडेट करने के लिए एक रीयल टाइम अपडेट जारी किया जाता है. हर दिन उपलब्ध होने वाले अगले फ़ीड में, आपको यह बुकिंग दिखानी चाहिए. इन व्यापारियों या कंपनियों के लिए उपलब्धता फ़ीड में, 12:30 बजे से 1:00 बजे के बीच, 30 मिनट की अवधि के लिए शेड्यूल किए गए अपवाद शामिल होंगे.

बुकिंग के साथ फ़ीड स्निपेट:

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