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)
  },
  "requireCreditCard": enum (RequireCreditCard),
  "ticketTypeId": [
    string
  ],
  "durationRequirement": enum (DurationRequirement),
  "schedulingRuleOverrides": {
    object (SchedulingRuleOverrides)
  },
  "confirmationMode": enum (ConfirmationMode)
}
زمینه های
startTime

string ( Timestamp format)

زمان شروع زمان ملاقات

مهر زمانی در قالب RFC3339 UTC "Zulu"، با وضوح نانوثانیه و حداکثر نه رقم کسری. مثال‌ها: "2014-10-02T15:01:23Z" و "2014-10-02T15:01:23.045123456Z" .

duration

string ( Duration format)

مدت زمان قرار ملاقات

مدت زمان در ثانیه با حداکثر نه رقم کسری که با ' s ' ختم می شود. مثال: "3.5s" .

spotsTotal

string ( int64 format)

تعداد کل نقاط و نقاط باز این در دسترس بودن. مثال ها:

  • کلاس یوگا 10 نقطه با 3 رزرو: availability {spotsTotal: 10, spotsOpen: 7 ...}
  • جلسه ماساژ صندلی که قبلاً به طور کامل رزرو شده است: availability {spotsTotal: 1, spotsOpen: 0 ...}

توجه: در صورت ارسال درخواست با استفاده از فرمت فشرده سازی در دسترس بودن تعریف شده در زیر، این دو فیلد استنباط می شود.

  • Recurrence به معنی spotsTotal=1 و spotsOpen=1 است.
  • ScheduleException به معنی spotsTotal=1 و spotsOpen=0 است.
spotsOpen

string ( int64 format)

تعداد نقاط باز

availabilityTag

string

یک رشته مات اختیاری برای شناسایی این شکاف دسترسی. در صورت تنظیم، در درخواست‌هایی که قرار ملاقات‌ها را رزرو/به‌روزرسانی/لغو می‌کنند، گنجانده می‌شود.

resources

object ( Resources )

منابع اختیاری مورد استفاده برای ابهام‌زدایی از این شکاف در دسترس بودن از دیگران، زمانی که اعضای مختلف کارکنان یا اتاق‌ها بخشی از سرویس هستند.

به عنوان مثال همان کلاس یوگا با دو 2 مربی:

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

string

فهرستی از شناسه‌ها که به گزینه‌های پرداختی که می‌توان برای پرداخت این اسلات استفاده کرد اشاره می‌کند. گزینه‌های پرداخت واقعی در سطح Merchant تعریف می‌شوند، و همچنین می‌توانند بین چندین تاجر به اشتراک گذاشته شوند.

این فیلد هر pay_option_ids مشخص شده در پیام سرویس را لغو می کند. به طور مشابه pay_option_ids مشخص شده در اینجا لازم نیست در پیام سرویس وجود داشته باشد، اگرچه باید در سطح Merchant تعریف شود.

recurrence

object ( Recurrence )

اطلاعات تکرار برای در دسترس بودن، نشان دهنده بیش از یک زمان شروع است. یک تکرار باید شامل قرار ملاقات برای یک روز کاری باشد.

scheduleException[]

object ( ScheduleException )

زمان هایی که نمی توان این سرویس را برنامه ریزی کرد. برای محدود کردن تعداد پیام های scheduleException، پیوستن به استثناهای مجاور را در نظر بگیرید.

deposit

object ( Deposit )

واریز اختیاری برای این در دسترس بودن. در صورت مشخص بودن واریز خدمات لغو می شود.

noShowFee

object ( NoShowFee )

اختیاری بدون هزینه نمایش برای این در دسترس بودن. در صورتی که مشخص شده بود، سرویس بدون هزینه نمایش را لغو می کند.

requireCreditCard

enum ( RequireCreditCard )

نشان می دهد که آیا کاربر باید کارت اعتباری برای رزرو این اسلات در دسترس ارائه دهد یا خیر. اگر مقدار تنظیم نشده باشد، اگر در آنجا تنظیم شده باشد، از سطح سرویس به ارث می رسد. (اختیاری)

ticketTypeId[]

string

فهرستی از انواع بلیط های پشتیبانی شده برای این شکاف در دسترس را نشان می دهد. اگر تنظیم نشود، همه انواع بلیط در سرویس والدین برای این اسلات در دسترس هستند. توجه داشته باشید که مقادیر این فیلد باید در سرویس والد تعریف شود. مثال ها:

  • سرویس با چهار نوع بلیت: TicketType {ticketTypeId: "adult_1" shortDescription: "Adult Days week"} TicketType {ticketTypeId: "adult_2" shortDescription: "Adult آخر هفته"} TicketType {ticketTypeId: "Youth weekdayT: "YouthDescripty_1" ticketTypeId: "youth_2" shortDescription: "Youth آخر هفته"}

برای نشان دادن موجودی در طول روزهای هفته: availability {ticketTypeId: "adult_1" ticketTypeId: "youth_1"...} . برای نشان دادن موجودی در طول تعطیلات: availability {ticketTypeId: "adult_2" ticketTypeId: "youth_2"...} .

  • سرویس با سه نوع بلیط: TicketType {ticketTypeId: "بالغ" shortDescription: "بزرگسال"} TicketType {ticketTypeId: "جوانان" shortDescription: "جوانان"} TicketType {ticketTypeId: "بالغ" shortDescription: "سالن"}

برای نشان دادن اینکه هر سه نوع بلیط برای این بازه زمانی در دسترس هستند، از availability {ticketTypeId: "adult" ticketTypeId: "youth" ticketTypeId: "senior" ...} یا "availability {...}" (تنظیم نکنید) استفاده کنید ticketTypeId در این شکاف).

(اختیاری)

durationRequirement

enum ( DurationRequirement )

الزام برای نشان دادن مدت زمان و/یا زمان پایان اسلات. اگر شکاف در دسترس نباشد، این فیلد نادیده گرفته می شود. در قسمت عمودی Things-To-Do استفاده نمی شود. (اختیاری)

schedulingRuleOverrides

object ( SchedulingRuleOverrides )

قوانین زمانبندی در دسترس بودن اگر فیلدها پر شوند، قوانین زمانبندی مربوطه را در SchedulingRules سطح سرویس لغو می کنند.

confirmationMode

enum ( ConfirmationMode )

حالت تأییدی که هنگام رزرو این در دسترس بودن استفاده خواهد شد. تلاش برای ایجاد رزرو برای در دسترس بودن با حالت تأیید CONFIRMATION_MODE_SYNCHRONOUS باید فوراً تأیید یا رد شود. تلاش برای ایجاد رزرو برای در دسترس بودن با حالت تأیید CONFIRMATION_MODE_ASYNCHRONOUS باید فوراً رد شود یا با وضعیت در انتظار ایجاد شود.

منابع

هنگامی که اعضای مختلف کارکنان یا اتاق‌ها بخشی از سرویس هستند، از یک منبع برای ابهام‌زدایی شکاف‌های دسترسی از یکدیگر استفاده می‌شود. اسلات های متعدد برای یک سرویس و بازه زمانی یکسان می توانند زمانی که منابع متفاوتی داشته باشند، وجود داشته باشند.

نمایندگی JSON
{
  "staffId": string,
  "staffName": string,
  "roomId": string,
  "roomName": string,
  "partySize": integer
}
زمینه های
staffId

string

شناسه اختیاری برای یکی از کارکنان ارائه دهنده خدمات. این فیلد، کارمند را در تمامی بازرگانان، خدمات و سوابق در دسترس بودن شناسایی می‌کند. همچنین باید در طول زمان پایدار باشد تا امکان ارتباط با رزروهای گذشته فراهم شود. اگر staffName وجود دارد این فیلد باید وجود داشته باشد.

staffName

string

نام اختیاری یکی از کارکنان ارائه دهنده خدمات. این فیلد به کاربرانی که رزرو می‌کنند نمایش داده می‌شود و برخلاف یک شناسه غیرشفاف، باید قابل خواندن توسط انسان باشد. اگر staffId وجود دارد این فیلد باید وجود داشته باشد.

roomId

string

یک شناسه اختیاری برای اتاقی که سرویس در آن قرار دارد. این قسمت اتاق را در همه تاجران، خدمات و سوابق در دسترس بودن مشخص می‌کند. همچنین باید در طول زمان پایدار باشد تا امکان ارتباط با رزروهای گذشته فراهم شود. اگر roomName وجود دارد، این فیلد باید وجود داشته باشد.

roomName

string

یک نام اختیاری برای اتاقی که سرویس در آن قرار دارد. این فیلد برای کاربرانی که رزرو می‌کنند نمایش داده می‌شود و باید قابل خواندن توسط انسان باشد، برخلاف یک شناسه غیر شفاف. (اختیاری است اما در صورت وجود roomId ضروری است) در ناهارخوری، نام اتاق فقط باید برای قسمت‌های نشیمن مانند بار یا پاسیو استفاده شود و نباید برای منوهای قیمت ثابت، فعالیت‌های خاص، یا هر ارزش غیر اتاق دیگری استفاده شود (مانند رزرو یا شام). اکیداً توصیه می شود که قسمت نشیمنگاه پیش فرض اتاقی با آن نداشته باشد.

partySize

integer

فقط برای ناهار خوری قابل استفاده است: اندازه مهمانی که در این بازه زمانی قابل استفاده است. یک رستوران می‌تواند به‌طور هم‌زمان با چندین اسلات مرتبط شود، که هر کدام اندازه مهمانی متفاوتی را مشخص می‌کنند، اگر برای مثال 2، 3 یا 4 نفر می‌توانند با رزرو بنشینند.

عود

پیام‌های تکراری اختیاری هستند، اما امکان نمایش فشرده‌تری از اسلات‌های در دسترس را که به طور مداوم تکرار می‌شوند را فراهم می‌کنند. آنها معمولاً برنامه کاری یک روز را نشان می دهند. سپس از پیام‌های ScheduleException برای نمایش بازه‌های زمانی رزرو شده/غیرقابل دسترس در روز کاری استفاده می‌شود.

الزامات:

  1. گسترش اسلات‌های دسترسی یا تکرارها نباید شکاف‌های یکسانی ایجاد کند. اگر شناسه ها، زمان شروع، مدت زمان و منابع مطابقت داشته باشند، اسلات ها یکسان در نظر گرفته می شوند.
  2. قالب استاندارد در دسترس بودن و تکرار را در شکاف های یک سرویس ترکیب نکنید. تکرار به سود بازرگانان/خدماتی است که قرار ملاقات ارائه می دهند. قالب استاندارد برای بازرگانان/خدمات با کلاس های برنامه ریزی شده منظم طراحی شده است.
  3. عودها نباید بیش از 24 ساعت طول بکشد.
نمایندگی JSON
{
  "repeatUntil": string,
  "repeatEvery": string
}
زمینه های
repeatUntil

string ( Timestamp format)

حداکثر مُهر زمانی UTC تا زمانی که در دسترس بودن تکرار می‌شود.

مهر زمانی در قالب RFC3339 UTC "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:20 صبح، 10:30-10:50 صبح، 11-11:20 صبح. (ضروری)

مدت زمان در ثانیه با حداکثر نه رقم کسری که با ' s ' ختم می شود. مثال: "3.5s" .

ScheduleException

پیام‌های ScheduleException بازه‌های زمانی رزرو شده/غیرقابل دسترس را در روز کاری نشان می‌دهند، که استثناهایی برای تکرار شرح داده شده در بالا هستند. با رزرو بازه های زمانی، فهرست استثناها باید به روز شود تا بازه های زمانی جدید در دسترس را منعکس کند. خود عود نباید اصلاح شود.

نمایندگی JSON
{
  "timeRange": {
    object (TimeRange)
  }
}
زمینه های
timeRange

object ( TimeRange )

محدوده زمانی استثنا. هر شکاف توصیف شده توسط تکرار که با این محدوده زمانی بسته-باز همپوشانی داشته باشد، غیرقابل دسترس تلقی خواهد شد.

مثال: اگر تکرار مدت زمان 20 دقیقه، تکرار هر 30 دقیقه، زمان شروع 9:00 صبح، و تکرار تا ساعت 11:00 صبح را مشخص کند، آنگاه ScheduleException با محدوده زمانی 9:45 صبح تا 11:00 صبح غیرقابل دسترس خواهد شد. اسلات در 9:30-9:50 صبح، 10-10:20 صبح و 10:30-10:50 صبح.

توجه داشته باشید که به دلیل باز بودن بازه زمانی بسته، شکافی که از ساعت 11 صبح شروع می‌شود تحت تأثیر قرار نمی‌گیرد.

مدت زمان مورد نیاز

این فهرست نشان می‌دهد که چه الزاماتی برای تأیید یا مشاهده مدت زمان/زمان پایان اسلات درخواستی توسط کاربر وجود دارد.

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 سطح سرویس استفاده کنید). در صورت وجود، هر چیزی که در min_booking_buffer از SchedulingRules سرویس مربوطه مشخص شده است لغو می شود.

firstBookableSec

string ( int64 format)

اولین بار (در چند ثانیه) که این اسلات می تواند رزرو شود. این مهر زمانی باید قبل از startSec شکاف یا lastBookableSec در صورت مشخص شدن باشد.

lastOnlineCancellableSec

string ( int64 format)

در صورت تنظیم، آخرین بار (در چند ثانیه از زمان یونیکس) که می‌توان این زمان قرار ملاقات خاص را از طریق رزرو با Google لغو کرد. این فیلد همه قوانین لغو در سطح خدمات را لغو می کند. (اختیاری)

ConfirmationMode

حالت‌های تأیید مورد استفاده هنگام رزرو در دسترس بودن.

Enums
CONFIRMATION_MODE_UNSPECIFIED حالت تایید مشخص نشده است. تایید همزمان فرض می شود.
CONFIRMATION_MODE_SYNCHRONOUS رزرو برای این در دسترس بودن به طور همزمان تأیید می شود.
CONFIRMATION_MODE_ASYNCHRONOUS رزرو برای این در دسترس بودن به صورت ناهمزمان تایید می شود.

مواد و روش ها

replace

Availability یک Service موجود از یک تاجر که توسط جمع‌آوری مشخص شده مدیریت می‌شود را جایگزین می‌کند و آن را برمی‌گرداند.