रीयल-टाइम अपडेट तैयार करना

रीयल-टाइम अपडेट के लिए केस का इस्तेमाल करें

रीयल-टाइम अपडेट हमेशा इन स्थितियों में जारी किए जाने चाहिए:

  • जब कोई उपयोगकर्ता आपके सिस्टम पर बुकिंग रद्द कर देता है, तो स्लॉट बन जाता है उपलब्ध हैं.
  • जब कोई उपयोगकर्ता कार्रवाई केंद्र से बुकिंग करता है और उपलब्धता स्लॉट अब उपलब्ध नहीं है.
  • जब Actions Center में की गई बुकिंग रद्द कर दी जाती है उदाहरण के लिए, सीधे कारोबारी या कंपनी से. आपको अपडेट करना होगा बुकिंग और उपलब्धता, क्योंकि अब मूल स्लॉट अब है फिर से उपलब्ध होगा.

इसके अलावा, अगर उपलब्धता बदलने के लिए आरटीयू टूल, रीयल-टाइम अपडेट, इन स्थितियों में जारी किए जाने चाहिए:

  • जब कोई व्यापारी/कंपनी/कारोबारी आपके सिस्टम पर अपना शेड्यूल (खरीदारी के लिए उपलब्धता) बदलता है.
  • जब कोई उपयोगकर्ता आपके सिस्टम और उपलब्धता स्लॉट पर बुकिंग करता है अब उपलब्ध नहीं है.
  • अगर लेगसी इंटिग्रेशन का इस्तेमाल किया जा रहा है, तो CheckAvailability जब कोई बुकिंग सर्वर CheckAvailability कॉल ऐसी इन्वेंट्री दिखाता है जो असल इन्वेंट्री से मेल नहीं खाती.

Maps के सभी बुकिंग एपीआई कॉल की ज़रूरत नहीं होती. यहां बताई गई चीज़ें ज़रूरी हैं:

इंटिग्रेशन के टाइप के आधार पर, ये चीज़ें उपलब्ध हो सकती हैं या इनकी ज़रूरत भी हो सकती है:

बुकिंग आरटीयू अपडेट करें

अगर Actions Center की बुकिंग में कोई अपडेट किया गया है (जैसे कि रद्द किया गया या संशोधित) करने का समय आ गया है, तो notification.partners.bookings.patch BookingNotification.UpdateBooking भेजा जाना चाहिए.

बदलाव किए जा सकने वाले फ़ील्ड

  • status
  • startTime
  • duration
  • partySize
  • paymentInformation.prepaymentStatus

रद्द करने की प्रक्रिया का उदाहरण

Request:
PATCH https://mapsbooking.googleapis.com/v1alpha/notification/partners/<PARTNER_ID>/bookings/<BOOKING_ID>?updateMask=status

Body:
{
  "name": "partners/<PARTNER_ID>/bookings/<BOOKING_ID>",
  "merchantId": "10001",
  "serviceId": "1001",
  "startTime": "2014-10-02T15:01:23.045123456Z",
  "duration": "3000s",
  "status": "CANCELED"
}

उपलब्धता बदलने के लिए आरटीयू

अपडेट करने के लिए दो तरह के परिवर्तन खरीदारी के लिए उपलब्धता:

  • बैच बदलें (InventoryUpdate.BatchServiceAvailability): यह किसी व्यापारी और अन्य कंपनी के लिए, खरीदारी के लिए उपलब्धता डेटा को पूरी तरह बदल देता है सेवाओं.
    • ध्यान दें: यह बैच कॉल, सर्वर के पूरे होने की गारंटी नहीं देता. सिर्फ़ अपडेट होने के बाद, उपलब्धता स्लॉट दिखाए जाएंगे.
  • सिंगल रिप्लेस (InventoryUpdate.ReplaceServiceAvailability): यह विकल्प, किसी एक व्यापारी/कंपनी और सेवा की उपलब्धता को पूरी तरह से बदल देता है.

कृपया इनका इस्तेमाल करें ज़्यादा के लिए reference विवरण.

रीयल-टाइम अपडेट के लिए, उपलब्धता का डेटा उसी स्ट्रक्चर का इस्तेमाल करना चाहिए जो फ़ीड से भेजे जाते हैं. उन्हें इनमें से किसी एक का इस्तेमाल करना होगा:

  • spotsOpen
  • recurrence

कॉल करने का तरीका बदलना

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

  • क्या एक ही बुकिंग से कई सेवाओं पर असर पड़ता है? उदाहरण के लिए, बाल काटना और रंग भरने (हर एक अलग सेवा है) स्टाइलिस्ट के साथ बुक की जाती है, इसलिए सभी उस टाइम स्लॉट के लिए स्टाइलिस्ट से जुड़ी सेवाओं को हटा देना चाहिए.
  • आपका सिस्टम सभी को भेजकर समय-समय पर Google के साथ सिंक करेगा पिछले अपडेट के बाद से, प्रॉडक्ट की उपलब्धता में हुए बदलाव (हम इसका सुझाव नहीं देते).
    • बैच बदलें
    • ध्यान दें: हमें उम्मीद है कि अपडेट होने के पांच मिनट के अंदर, इन्वेंट्री का आरटीयू मैसेज भेज दिया जाएगा मदद मिल सकती है. इसलिए, आपको कम से कम हर पांच मिनट में अपडेट देखना चाहिए और भेजना चाहिए.
  • क्या इनमें से कोई समस्या नहीं है?
    • सिंगल रिप्लेस
    • ध्यान दें: एक से ज़्यादा बार बदलने वाले कॉल का इस्तेमाल करके, बैच रिप्लेसमेंट कॉल, लेकिन एक ही फ़ाइल का इस्तेमाल करना ज़्यादा कारगर होगा बैच रिप्लेस कॉल

रीयल-टाइम अपडेट: स्पॉट ओपन फ़ॉर्मैट

सभी फ़ीड, बुकिंग सर्वर, और रीयल-टाइम अपडेट मिलते हैं.

spots_open फ़ीड स्निपेट ऐसा दिखता है:

फ़ीड स्निपेट

   "availability": [
          {
            "merchant_id": "1001",
            "service_id": "12310",
            "spots_open": 2,
            "spots_total": 2,
            "start_sec": 1412263800, # October 02, 2014 15:30:00
            "duration_sec": 1800,
            "availabilityTag": "1000001"
          }
    ]

इन्वेंट्री अपडेट एपीआई के लिए, अनुरोध का मुख्य हिस्सा बदलें दोपहर 3:30 बजे का स्लॉट बुक हो जाएगा:

रीयल-टाइम अपडेट का स्निपेट बदलना

  {
    "extendedServiceAvailability": [
      {
        "merchantId": "1001",
        "serviceId": "12310",
        "startTimeRestrict": "2014-10-02T15:01:23.045123456Z",
        "endTimeRestrict": "2014-10-02T19:01:23.045123456Z",
        "availability": [
          {
            "startTime": "2014-10-02T15:30:00.00Z",
            "duration": "3600s",
            "spotsOpen": "1",
            "spotsTotal": "2",
            "availabilityTag": "1000001"
          }
        ]
      }
    ]
  }

यहां दिए गए उदाहरण में बताया गया है कि अगर अगले दिन फ़ीड में कोई नया स्लॉट मिलता है, तो हम अगले फ़ीड में क्या उम्मीद करते हैं दोपहर 3:30 बजे का समय बुक हो जाएगा:

फ़ीड स्निपेट

"availability": [
        {
          "merchant_id": "1001",
          "service_id": "12310",
          "spots_open": 1,
          "spots_total": 2,
          "start_sec": 1412263800, # October 02, 2014 15:30:00
          "duration_sec": 1800,
          "availabilityTag": "1000001"
        }
      ]

रीयल-टाइम अपडेट: बार-बार होने वाले टास्क का फ़ॉर्मैट

सभी फ़ीड, बुकिंग सर्वर, और रीयल-टाइम अपडेट मिलते हैं.

बार-बार होने वाले पेमेंट का इस्तेमाल करने वाला फ़ीड इस तरह दिखता है:

फ़ीड स्निपेट

  "availability": [
        {
          "merchant_id": "1001",
          "service_id": "12310",
          "spots_open": 1,
          "spots_total": 1,
          "start_sec": 1540890000, # October 30, 2018 9:00:00 AM
          "duration_sec": 1800,
          "recurrence": {
            "repeat_every_sec": 1800,
            "repeat_until_sec": 1540918800 # October 30, 2018 5:00:00 PM
          },
          "schedule_exception": [
            {
              "time_range": {
                "begin_sec": 1540902600, # October 30, 2018 12:30:00 PM
                "end_sec": 1540904400 # October 30, 2018 1:00:00 PM
              }
            }
          ],
        }
      ]

इन्वेंट्री अपडेट एपीआई के लिए, अनुरोध का मुख्य हिस्सा बदलें दोपहर 3:30 बजे का स्लॉट बुक हो जाएगा. ऐसा लगता है:

  {
    "extendedServiceAvailability": [
      {
        "merchantId": "1001",
        "serviceId": "12310",
        "startTimeRestrict": "2018-10-30T15:01:23.045123456Z",
        "endTimeRestrict": "2018-10-30T19:01:23.045123456Z",
        "availability": [
          {
            "startTime": "2018-10-30T15:30:00.00Z",
            "duration": "3600s",
            "spotsOpen": "1",
            "scheduleException": [
             {
                "timeRange": {
                  "startTime": "2018-10-30T12:30:00.00Z",
                  "endTime": "2018-10-30T13:00:00.00Z"
                }
              },
              {
                "timeRange": {
                  "startTime": "2018-10-30T15:30:00.00Z",
                  "endTime": "2018-10-30T16:00:00.00Z"
                }
              }
            ]
          }
        ]
      }
    ]
  }

यहां एक उदाहरण में बताया गया है कि अगले दिन के फ़ीड में क्या बदलाव हो सकता है. ध्यान दें कि यह उस व्यापारी/कंपनी/कारोबारी के लिए पूरी सेवा की उपलब्धता है और उसके पिछला और नया schedule_exceptions:

फ़ीड स्निपेट

   "availability": [
        {
          "merchant_id": "1001",
          "service_id": "12310",
          "spots_open": 1,
          "spots_total": 1,
          "start_sec": 1540890000, # October 30, 2018 9:00:00 AM
          "duration_sec": 1800,
          "recurrence": {
            "repeat_every_sec": 1800,
            "repeat_until_sec": 1540918800 # October 30, 2018 5:00:00 PM
          },
          "schedule_exception": [
            {
              "time_range": {
                "begin_sec": 1540902600, # October 30, 2018 12:30:00 PM
                "end_sec": 1540904400 # October 30, 2018 1:00:00 PM
              }
            },
            {
              "time_range": {
                "begin_sec": 1540913400, # October 30, 2018 3:30:00 PM
                "end_sec": 1540915200 # October 30, 2018 4:00:00 PM
              }
            }
          ],
        }
      ]

रीयल-टाइम अपडेट कब सबमिट करें

उपलब्धता में बदलाव होने पर, रीयल-टाइम अपडेट लगातार भेजे जाने चाहिए. यह एक व्यापक उपलब्धता फ़ीड के अतिरिक्त है, जिसे रोज़ एक बार सबमिट किया जाता है, ताकि यह पक्का किया जा सके कि उपलब्धता सिंक की गई है एक-दूसरे के साथ शेयर किया जा सकता है.