REST Resource: inventory.partners.merchants.services.availability

संसाधन: उपलब्धता

व्यापारी/कंपनी की सेवा के लिए उपलब्धता स्लॉट, जो समय और स्पॉट की संख्या बताता है.

जेएसओएन के काेड में दिखाना
{
  "startTime": string,
  "duration": string,
  "spotsTotal": string,
  "spotsOpen": string,
  "availabilityTag": string,
  "resources": {
    object (Resources)
  },
  "paymentOptionId": [
    string
  ],
  "recurrence": {
    object (Recurrence)
  },
  "scheduleException": [
    {
      object (ScheduleException)
    }
  ],
  "deposit": {
    object (Deposit)
  },
  "noShowFee": {
    object (NoShowFee)
  },
  "requireCreditCard": enum (RequireCreditCard),
  "ticketTypeId": [
    string
  ],
  "durationRequirement": enum (DurationRequirement),
  "schedulingRuleOverrides": {
    object (SchedulingRuleOverrides)
  },
  "confirmationMode": enum (ConfirmationMode)
}
फ़ील्ड
startTime

string (Timestamp format)

अपॉइंटमेंट स्लॉट की शुरुआत का समय.

RFC3339 यूटीसी और कोट के फ़ॉर्मैट;Zulu" में एक टाइमस्टैंप, जिसमें नैनोसेकंड रिज़ॉल्यूशन और ज़्यादा से ज़्यादा नौ दशमलव अंक हैं. उदाहरण: "2014-10-02T15:01:23Z" और "2014-10-02T15:01:23.045123456Z".

duration

string (Duration format)

अपॉइंटमेंट स्लॉट की अवधि

नौ से ज़्यादा अंश अंकों वाली अवधि, जिसमें 's'. होता है. उदाहरण: "3.5s".

spotsTotal

string (int64 format)

कुल स्पॉट की संख्या और इस उपलब्धता की खुली जगहें. उदाहरण:

  • 3 बुक किए गए 10 स्पॉट का योग कक्षा: availability {spotsTotal: 10, spotsOpen: 7 ...}
  • चेयर मसाज का सेशन, जिसकी बुकिंग पहले ही पूरी हो चुकी है: availability {spotsTotal: 1, spotsOpen: 0 ...}

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

  • बार-बार होने का मतलब है spotsTotal=1 और spotsOpen=1.
  • ScheduleOnce पर spotsTotal=1 और spotsOpen=0 लागू होते हैं.
spotsOpen

string (int64 format)

खुली जगहों की संख्या.

availabilityTag

string

इस उपलब्धता स्लॉट की पहचान करने के लिए, यह वैकल्पिक स्ट्रिंग नहीं होती. इसे सेट करने पर, अपॉइंटमेंट बुक/अपडेट करने/रद्द करने के अनुरोधों में शामिल किए जाएंगे.

resources

object (Resources)

इस सुविधा का इस्तेमाल तब किया जाता है, जब सेवा देने वाले अलग-अलग सदस्यों या कमरों के सदस्य इस उपलब्धता स्लॉट को साफ़ तौर पर न दिखाना चाहते हों.

उदाहरण के लिए, दो शिक्षकों के साथ एक ही योग कक्षा:

availability { resources { staffId: "1" staffName: "Amy" }
               spotsTotal: 10 spotsOpen: 7 }
availability { resources { staffId: "2" staffName: "John" }
               spotsTotal: 5 spotsOpen: 2 }
paymentOptionId[]

string

पेमेंट के विकल्पों के बारे में बताने वाली आईडी की सूची. इसका इस्तेमाल इस स्लॉट के लिए पैसे चुकाने के लिए किया जा सकता है. असली पैसे चुकाने के विकल्प, व्यापारी या कंपनी के लेवल पर तय किए जाते हैं. इन्हें कई व्यापारियों/कंपनियों के साथ शेयर भी किया जा सकता है.

यह फ़ील्ड, सेवा के मैसेज में बताए गए pay_option_ids को बदल देता है. इसी तरह, यहां दिया गया pay_option_ids, सेवा मैसेज में मौजूद होना ज़रूरी नहीं है. हालांकि, इसे व्यापारी/कंपनी के लेवल पर तय किया जाना चाहिए.

recurrence

object (Recurrence)

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

scheduleException[]

object (ScheduleException)

वह समय जब यह सेवा शेड्यूल नहीं की जा सकती. ScheduleException मैसेज की संख्या सीमित करने के लिए, बगल में मौजूद अपवाद से जुड़ने के बारे में सोचें.

deposit

object (Deposit)

इस उपलब्धता के लिए वैकल्पिक जमा राशि. अगर किसी सेवा की जानकारी दी गई है, तो उसे बदला जा सकता है.

noShowFee

object (NoShowFee)

इस शो की उपलब्धता के लिए, शो का शुल्क देना ज़रूरी नहीं है. अगर कोई शुल्क नहीं दिखाया गया है, तो सेवा में बदलाव नहीं होने पर लिया जाने वाला शुल्क बदल देता है.

requireCreditCard

enum (RequireCreditCard)

इससे पता चलता है कि इस उपलब्धता स्लॉट को बुक करने के लिए उपयोगकर्ता को क्रेडिट कार्ड देना होगा या नहीं. अगर मान सेट नहीं किया गया है, तो उसे सेवा के लेवल से इनहेरिट किया जाएगा, अगर मान वहां सेट किया गया है. (ज़रूरी नहीं)

ticketTypeId[]

string

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

  • चार टिकट टाइप वाली सेवा: TicketType { TicketTypeId: "adult_1" ShortDescription: "adult Weeks"} TicketType { TicketTypeId: "adult_2" ShortDescription: "वयस्क वीकेंड&quot&quot&quot&to&&&&&t&t&&t&t=in_to&& उससे लाइन का कोटेशन

कामकाजी दिनों के दौरान इन्वेंट्री का प्रतिनिधित्व करने के लिए: availability {ticketTypeId: "adult_1" ticketTypeId: "youth_1"...}. छुट्टियों के दौरान इन्वेंट्री का प्रतिनिधित्व करने के लिए: availability {ticketTypeId: "adult_2" ticketTypeId: "youth_2"...}.

  • तीन तरह की टिकट वाली सेवा: TicketType { TicketTypeId: "adult" ShortDescription: "ADULT"} TicketType {टिकटटाइप आईडी: "youth" ShortDescription: "Youth"} TicketType { TicketTypeId: "senior" ShortDescription: "}

यह बताने के लिए कि इस समयावधि के तीनों टिकट टाइप उपलब्ध हैं, availability {ticketTypeId: "adult" ticketTypeId: "youth" ticketTypeId: "senior" ...} या `खरीदारी के लिए उपलब्धता {...}' का इस्तेमाल करें (इस स्लॉट में टिकट टाइप आईडी सेट न करें).

(ज़रूरी नहीं)

durationRequirement

enum (DurationRequirement)

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

schedulingRuleOverrides

object (SchedulingRuleOverrides)

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

confirmationMode

enum (ConfirmationMode)

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

रिसॉर्स

इस संसाधन का इस्तेमाल तब किया जाता है, जब सेवा के अलग-अलग सदस्यों या कमरों के लिए उपलब्धता स्लॉट एक-दूसरे से अलग दिखते हों. एक ही सेवा के लिए कई स्लॉट और समय अंतराल, अलग-अलग संसाधन होने पर एक साथ मौजूद हो सकते हैं.

जेएसओएन के काेड में दिखाना
{
  "staffId": string,
  "staffName": string,
  "roomId": string,
  "roomName": string,
  "partySize": integer
}
फ़ील्ड
staffId

string

सेवा देने वाले स्टाफ़ के वैकल्पिक आईडी की जानकारी. यह फ़ील्ड सभी व्यापारियों, सेवाओं, और उपलब्धता रिकॉर्ड में स्टाफ़ के सदस्यों की पहचान करता है. समय के साथ, कीमतों में कोई बदलाव नहीं होना चाहिए, ताकि पुरानी बुकिंग के साथ संबंध रखा जा सके. अगर स्टाफ़ का नाम मौजूद है, तो यह फ़ील्ड मौजूद होना चाहिए.

staffName

string

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

roomId

string

जिस कमरे में सेवा दी गई है उसके लिए वैकल्पिक आईडी. यह फ़ील्ड सभी व्यापारियों, सेवाओं और उपलब्धता रिकॉर्ड के लिए चैट रूम की पहचान करता है. समय के साथ, कीमतों में कोई बदलाव नहीं होना चाहिए, ताकि पुरानी बुकिंग के साथ संबंध रखा जा सके. अगरroomName मौजूद है, तो यह फ़ील्ड मौजूद होना चाहिए.

roomName

string

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

partySize

integer

सिर्फ़ डाइनिंग के लिए लागू: पार्टी में आने वाले लोगों की संख्या जो इस समय के दौरान हो सकती है. कोई रेस्टोरेंट एक ही समय पर एक से ज़्यादा स्लॉट से जुड़ा हो सकता है. साथ ही, हर रेस्टोरेंट में अलग-अलग पार्टी का साइज़ होना चाहिए, जैसे कि 2, 3 या 4 लोगों में बुकिंग की जा सकती हो.

बार-बार होने वाला

बार-बार भेजे जाने वाले मैसेज की जानकारी देना ज़रूरी नहीं है. हालांकि, बार-बार उपलब्ध होने वाले स्लॉट की संख्या को और छोटा किया जा सकता है. आम तौर पर, ये एक दिन के काम के शेड्यूल की जानकारी देते हैं. इसके बाद, शेड्यूल के अपवाद वाले मैसेज का इस्तेमाल, बुक किए गए समय के लिए बुक किए गए समय की जानकारी देने के लिए किया जाता है. इसके अलावा, मैसेज में कामकाजी दिनों की जानकारी नहीं दी जाती.

ज़रूरी बातें:

  1. उपलब्धता स्लॉट या दोहराए जाने की संख्या के विस्तार से एक जैसे स्लॉट नहीं होने चाहिए. अगर आईडी, शुरू होने का समय, अवधि, और संसाधन मेल खाते हैं, तो स्लॉट एक जैसे ही माने जाते हैं.
  2. किसी एक सेवा के स्लॉट में, प्रॉडक्ट की उपलब्धता की स्टैंडर्ड फ़ॉर्मैट और दोहराए जाने की जानकारी को आपस में न मिलाएं. बार-बार होने वाली सुविधा से उन व्यापारियों/कंपनियों को फ़ायदा मिलता है जो अपॉइंटमेंट की सुविधा देते हैं. यह मानक फ़ॉर्मैट नियमित तौर पर कक्षाओं के साथ व्यापारियों/सेवाओं के लिए तैयार किया गया है.
  3. बार-बार होने की अवधि 24 घंटे से ज़्यादा नहीं होनी चाहिए.
जेएसओएन के काेड में दिखाना
{
  "repeatUntil": string,
  "repeatEvery": string
}
फ़ील्ड
repeatUntil

string (Timestamp format)

शामिल किए जाने वाले ज़्यादा से ज़्यादा यूटीसी टाइमस्टैंप की उपलब्धता, इस तारीख तक दोहराई जाती है.

RFC3339 यूटीसी और कोट के फ़ॉर्मैट;Zulu" में एक टाइमस्टैंप, जिसमें नैनोसेकंड रिज़ॉल्यूशन और ज़्यादा से ज़्यादा नौ दशमलव अंक हैं. उदाहरण: "2014-10-02T15:01:23Z" और "2014-10-02T15:01:23.045123456Z".

repeatEvery

string (Duration format)

यह समय के हिसाब से उपलब्धता के स्लॉट के बीच के समय के बारे में बताता है.

उदाहरण: 20 मिनट की अवधि, 30 मिनट के दोहराव, 9:00 बजे की स्टार्टटाइम, और 11:00 बजे तक दोहराए जाने की उपलब्धता के लिए सुबह 9-9:20 बजे, सुबह 9:30-9:50 बजे, सुबह 10-10:10:10:1 बजे तक मिलेंगे: (ज़रूरी)

नौ से ज़्यादा अंश अंकों वाली अवधि, जिसमें 's'. होता है. उदाहरण: "3.5s".

शेड्यूल अपवाद

शेड्यूल अपवाद वाले मैसेज, कामकाजी दिन में बुक की गई/उपलब्ध नहीं होने वाली समयसीमाओं के बारे में बताते हैं. ये ऊपर बताई गई दोहराव के अपवाद हैं. समय स्लॉट बुक होने पर, अपवादों की सूची अपडेट की जानी चाहिए, ताकि नई समय सीमाएं दिख सकें. बार-बार दोहराए जाने वाले सेगमेंट में बदलाव नहीं किया जाना चाहिए.

जेएसओएन के काेड में दिखाना
{
  "timeRange": {
    object (TimeRange)
  }
}
फ़ील्ड
timeRange

object (TimeRange)

अपवाद की समयसीमा. दोहराने वाले ऐसे किसी भी स्लॉट के बारे में बताया जाएगा जो बंद हो चुकी इस समयसीमा की समयसीमा को ओवरलैप करता है. इसे अनुपलब्ध माना जाएगा.

उदाहरण के लिए, अगर बार-बार होने का समय 20 मिनट है, हर 30 मिनट का दोहराव है, सुबह 9:00 बजे का दोहराव होगा, और सुबह 11:00 बजे का दोहराव होगा, तो सुबह 9:30 से 11:00 बजे तक का समय अपवाद सुबह 9:30 से 5 बजे तक सुबह 1 से 1:1 बजे से 1:1:00 बजे और 1:01 बजे पर क्लिक करेगा.

ध्यान दें कि समय सीमा बंद होने के बाद, सुबह 11 बजे से शुरू होने वाले स्लॉट पर कोई असर नहीं होगा.

अवधि की ज़रूरत

इस enum का मतलब है कि उपयोगकर्ता, अनुरोध किए गए स्लॉट की अवधि या खत्म होने के समय को स्वीकार कर सकता है या उसे देख सकता है.

Enums
DURATION_REQUIREMENT_UNSPECIFIED खत्म होने के समय को प्रबंधित करने के बारे में नहीं बताया गया है. यह डिफ़ॉल्ट रूप से होता है.
DO_NOT_SHOW_DURATION उपयोगकर्ता को खत्म होने का समय नहीं दिखाया गया है.
MUST_SHOW_DURATION उपयोगकर्ता को अपॉइंटमेंट बुक करने से पहले, इवेंट के खत्म होने का समय दिखना चाहिए.

SchedulingRuleOverrides

उपलब्धता के लेवल को शेड्यूल करने के नियम.

जेएसओएन के काेड में दिखाना
{
  "lastBookableSec": string,
  "firstBookableSec": string,
  "lastOnlineCancellableSec": string
}
फ़ील्ड
lastBookableSec

string (int64 format)

इस स्लॉट को बुक करने की आखिरी तारीख (सेकंड में). इस टाइमस्टैंप को, स्लॉट के startSec से पहले का होना चाहिए. अगर उपयोगकर्ता, शुरू होने के समय के बाद बुकिंग कर पाना चाहिए, तो यह सेवा लेवल SchedulingRules.min_booking_before_end_time का इस्तेमाल करें. मौजूद होने पर, उससे जुड़ी सेवा's SchedulingRs के min_booking_buffer में बताई गई सभी चीज़ों को बदल देगा.

firstBookableSec

string (int64 format)

यह स्लॉट, सेकंड में पहली बार बुक किया जा सकेगा. यह टाइमस्टैंप, स्लॉट के startSec से पहले का होना चाहिए या तय किए जाने पर lastBookableSec होना चाहिए.

lastOnlineCancellableSec

string (int64 format)

अगर इस समय सेट किया गया है, तो आखिरी बार स्लॉट (Unix epoch के बाद से) रद्द किया जा सकता है. इसके लिए, Reserve with Google की मदद ली जा सकती है. यह फ़ील्ड, सेवा-स्तर पर रद्द करने के किसी भी नियम को बदल देगी. (ज़रूरी नहीं)

पुष्टि मोड

बुकिंग के उपलब्ध होने पर, पुष्टि करने वाले मोड का इस्तेमाल किया जाता है.

Enums
CONFIRMATION_MODE_UNSPECIFIED पुष्टि करने वाला मोड बताया नहीं गया. सिंक करने की पुष्टि मानी जाएगी.
CONFIRMATION_MODE_SYNCHRONOUS इस उपलब्धता के लिए, बुकिंग की पुष्टि सिंक्रोनस रूप से की जाएगी.
CONFIRMATION_MODE_ASYNCHRONOUS इस उपलब्धता के लिए बुकिंग की पुष्टि एसिंक्रोनस तौर पर की जाएगी.

तरीके

replace

किसी ऐसे व्यापारी या कंपनी के मौजूदा Service की Availability को बदल देता है जिसे कोई एग्रीगेटर मैनेज करता है और उसे वापस करता है.