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

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

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

JSON के काेड में दिखाना
{
  "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)
  },
  "prepayment": {
    object (Prepayment)
  },
  "requireCreditCard": enum (RequireCreditCard),
  "ticketTypeId": [
    string
  ],
  "durationRequirement": enum (DurationRequirement),
  "schedulingRuleOverrides": {
    object (SchedulingRuleOverrides)
  },
  "confirmationMode": enum (ConfirmationMode),
  "linkoutRequiredReason": enum (LinkoutRequiredReason)
}
फ़ील्ड
startTime

string (Timestamp format)

अपॉइंटमेंट स्लॉट शुरू होने का समय.

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

duration

string (Duration format)

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

सेकंड में कुल समय, जिसमें दशमलव के बाद नौ अंक हो सकते हैं. यह समय 's' पर खत्म होता है. उदाहरण: "3.5s".

spotsTotal

string (int64 format)

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

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

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

  • बार-बार होने का मतलब है कि spotsTotal=1 और spotsOpen=1.
  • Scheduleअपवाद का मतलब 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

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

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

recurrence

object (Recurrence)

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

scheduleException[]

object (ScheduleException)

वे समय जब इस सेवा को शेड्यूल नहीं किया जा सकता. शेड्यूल अपवाद वाले मैसेज की संख्या सीमित करने के लिए, आस-पास के अपवादों को शामिल करें.

deposit

object (Deposit)

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

noShowFee

object (NoShowFee)

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

prepayment

object (Prepayment)

ज़रूरी नहीं. इस उपलब्धता के लिए पहले से दी जाने वाली वैकल्पिक जानकारी.

requireCreditCard

enum (RequireCreditCard)

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

ticketTypeId[]

string

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

  • चार तरह के टिकट वाली सेवा: TicketType {ticketTypeId: "adult_1" shortDescription: "Adult weekdays"} TicketType {ticketTypeId: "adult_2" shortDescription: "Adult weekends"} TicketType {ticketTypeId: "youth_1" shortDescription: "Youth weekdays"} TicketType {ticketTypeId: "youth_2" shortDescription: "Youth weekends"}

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

  • तीन तरह की टिकटों की सेवा: TicketType {ticketTypeId: "adult" छोटा ब्यौरा: "adult"} TicketType {ticketTypeId: "युवा" ShortDescription: "Youth"} TicketType {ticketTypeId: "सीनियर" छोटा विवरण: "सीनियर"}

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

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

durationRequirement

enum (DurationRequirement)

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

schedulingRuleOverrides

object (SchedulingRuleOverrides)

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

confirmationMode

enum (ConfirmationMode)

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

linkoutRequiredReason

enum (LinkoutRequiredReason)

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

संसाधन

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

JSON के काेड में दिखाना
{
  "staffId": string,
  "staffName": string,
  "roomId": string,
  "roomName": string,
  "partySize": integer,
  "roomDescription": {
    object (Text)
  }
}
फ़ील्ड
staffId

string

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

staffName

string

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

roomId

string

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

roomName

string

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

partySize

integer

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

roomDescription

object (Text)

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

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

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

ज़रूरतें:

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

string (Timestamp format)

यूटीसी टाइमस्टैंप, जब तक कि उपलब्धता दोहराई जाती है.

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

repeatEvery

string (Duration format)

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

उदाहरण: अगर विज्ञापन दिखाने के लिए उपलब्ध समय 20 मिनट है, हर 30 मिनट के बाद विज्ञापन दोहराया जाएगा, विज्ञापन दिखाना सुबह 9 बजे शुरू होगा, और विज्ञापन दिखाना सुबह 11 बजे तक होगा, तो विज्ञापन दिखाने के लिए ये स्लॉट मिलेंगे: सुबह 9 बजे से 9:20 बजे, सुबह 9:30 बजे से 9:50 बजे, सुबह 10 बजे से 10:20 बजे, सुबह 10:30 बजे से 10:50 बजे, सुबह 11 बजे से 11:20 बजे. (ज़रूरी)

सेकंड में कुल समय, जिसमें दशमलव के बाद नौ अंक हो सकते हैं. यह समय 's' पर खत्म होता है. उदाहरण: "3.5s".

ScheduleException

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

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

object (TimeRange)

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

उदाहरण: अगर यह दोहराव 20 मिनट की अवधि के बारे में बताता है, तो हर 30 मिनट में एक बार, सुबह 9:00 बजे के शुरू होने का समय, और सुबह 11:00 बजे तक का दोहराव, सुबह 9:45 बजे से 11:00 बजे के समय की रेंज के साथ शेड्यूल अपवाद, सुबह 9:30-9:50 बजे, 10 से 10:20 बजे, सुबह 10 से 10:20 बजे के स्लॉट उपलब्ध नहीं कराएगा

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

पूर्व-भुगतान

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

JSON के काेड में दिखाना
{
  "priceInfo": {
    object (PriceInfo)
  }
}
फ़ील्ड
priceInfo

object (PriceInfo)

कीमत की जानकारी के लिए कंटेनर.

PriceInfo

कीमत की जानकारी के लिए कंटेनर.

JSON के काेड में दिखाना
{
  "priceType": enum (PriceType),

  // Union field price_options can be only one of the following:
  "price": {
    object (Price)
  },
  "priceRange": {
    object (PriceRange)
  }
  // End of list of possible types for union field price_options.
}
फ़ील्ड
priceType

enum (PriceType)

इससे पता चलता है कि कीमत या कीमत सीमा कैसे लागू की जाती है (हर व्यक्ति या तय कीमत)

यूनियन फ़ील्ड price_options. कीमत के विकल्पों का इस्तेमाल करके, सटीक कीमत या रेंज की जानकारी दी जा सकती है. price_options इनमें से सिर्फ़ एक हो सकता है:
price

object (Price)

किसी सेवा की कीमत या शुल्क.

priceRange

object (PriceRange)

किसी सेवा या शुल्क की ऊपरी और/या निचली सीमा.

PriceRange

मॉनेटरी वैल्यू की रेंज के लिए रैपर. जब तक दोनों वैल्यू सेट नहीं की जातीं, तब तक इसे अनबाउंड वैल्यू माना जाता है. minAmount और maxAmount में से कम से कम एक का होना ज़रूरी है.

JSON के काेड में दिखाना
{
  "minPrice": {
    object (Price)
  },
  "maxPrice": {
    object (Price)
  }
}
फ़ील्ड
minPrice

object (Price)

कम से कम रकम.

maxPrice

object (Price)

ज़्यादा से ज़्यादा रकम. यह वैल्यू हमेशा minPrice से ज़्यादा होनी चाहिए.

DurationRequirement

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

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

SchedulingRuleOverrides

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

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

string (int64 format)

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

firstBookableSec

string (int64 format)

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

lastOnlineCancellableSec

string (int64 format)

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

ConfirmationMode

बुकिंग की उपलब्धता के दौरान, पुष्टि करने के लिए इस्तेमाल किए जाने वाले मोड.

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

LinkoutRequiredReason

किसी स्लॉट में लिंकआउट अनुभव होने की वजह.

Enums
LINKOUT_REQUIRED_REASON_UNSPECIFIED डिफ़ॉल्ट वैल्यू: इसका इस्तेमाल न करें, यह अज्ञात है.
PAYMENT_REQUIRED स्लॉट बुक करने के लिए, पार्टनर प्लैटफ़ॉर्म पर पेमेंट करना ज़रूरी है.

तरीके

replace

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