- منبع: در دسترس بودن
- منابع
- عود
- استثنای زمانبندی
- پیشپرداخت
- اطلاعات قیمت
- محدوده قیمت
- مدت زمانالزام
- لغو قوانین زمانبندی
- حالت تأیید
- دلیل لازم برای لینکاوت
- روشها
منبع: در دسترس بودن
بازه زمانی در دسترس بودن خدمات فروشنده، که زمان و تعداد نقاط را نشان میدهد.
| نمایش JSON |
|---|
{ "startTime": string, "duration": string, "spotsTotal": string, "spotsOpen": string, "availabilityTag": string, "resources": { object ( |
| فیلدها | |
|---|---|
startTime | زمان شروع قرار ملاقات. از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: |
duration | مدت زمان قرار ملاقات مدت زمانی بر حسب ثانیه با حداکثر نه رقم کسری که به ' |
spotsTotal | تعداد کل جایگاهها و جایگاههای خالی این ظرفیت. مثالها:
توجه: اگر درخواستها با استفاده از قالب فشردهسازی دسترسیپذیری تعریفشده در زیر ارسال شوند، این دو فیلد استنباط خواهند شد.
|
spotsOpen | تعداد نقاط باز. |
availabilityTag | یک رشتهی مبهم اختیاری برای شناسایی این بازه زمانی خالی. در صورت تنظیم، در درخواستهایی که قرار ملاقاتها را رزرو/بهروزرسانی/لغو میکنند، لحاظ خواهد شد. |
resources | منابع اختیاری که برای رفع ابهام این بازه زمانی از سایر بازههای زمانی استفاده میشوند، زمانی که کارکنان یا اتاقهای مختلفی بخشی از سرویس هستند. به عنوان مثال، همان کلاس یوگا با دو مربی: |
paymentOptionId[] | فهرستی از شناسهها که به گزینههای پرداختی اشاره دارند که میتوانند برای پرداخت هزینه این اسلات استفاده شوند. گزینههای پرداخت واقعی در سطح فروشنده تعریف میشوند و همچنین میتوانند بین چندین فروشنده به اشتراک گذاشته شوند. این فیلد هرگونه payment_option_ids مشخص شده در پیام سرویس را لغو میکند. به طور مشابه payment_option_ids مشخص شده در اینجا لازم نیست در پیام سرویس وجود داشته باشند، اگرچه باید در سطح فروشنده تعریف شوند. |
recurrence | اطلاعات تکرار برای در دسترس بودن، که نشان دهنده بیش از یک زمان شروع است. یک تکرار باید شامل قرار ملاقاتها برای یک روز کاری باشد. |
scheduleException[] | زمانهایی که نمیتوان این سرویس را زمانبندی کرد. برای محدود کردن تعداد پیامهای scheduleException، اتصال استثناهای مجاور را در نظر بگیرید. |
deposit | سپرده اختیاری برای این قابلیت. در صورت مشخص شدن سپرده خدمات، آن را لغو میکند. |
noShowFee | هزینه عدم نمایش برای این دسترسی اختیاری است. در صورت مشخص بودن هزینه عدم نمایش، این هزینه لغو میشود. |
prepayment | اختیاری. اطلاعات پیشپرداخت اختیاری برای این موجودی. |
requireCreditCard | نشان میدهد که آیا کاربر برای رزرو این بازه زمانی باید کارت اعتباری ارائه دهد یا خیر. اگر مقدار آن تنظیم نشده باشد، از سطح سرویسی که در آن تنظیم شده است، به ارث میرسد. (اختیاری) |
ticketTypeId[] | فهرستی از انواع تیکتهای پشتیبانیشده برای این بازه زمانیِ در دسترس بودن را نشان میدهد. در صورت عدم تنظیم، همه انواع تیکت در سرویس والد برای این بازه زمانی در دسترس هستند. توجه داشته باشید که مقادیر این فیلد باید در سرویس والد تعریف شوند. مثالها:
برای نمایش موجودی در طول روزهای هفته:
برای نشان دادن اینکه هر سه نوع بلیط برای این بازه زمانی در دسترس هستند، از (اختیاری) |
durationRequirement | الزام نمایش مدت زمان و/یا زمان پایان هر بازه زمانی. در صورت عدم دسترسی به بازه زمانی، این فیلد نادیده گرفته میشود. در ستون «کارها باید انجام شوند» استفاده نمیشود. (اختیاری) |
schedulingRuleOverrides | قوانین زمانبندی دسترسی. اگر فیلدها پر شوند، هرگونه قانون زمانبندی مربوطه در SchedulingRules سطح سرویس را لغو میکنند. |
confirmationMode | حالت تأییدی که هنگام رزرو این موجودی استفاده خواهد شد. تلاش برای ایجاد رزرو برای موجودیهایی با حالت تأیید CONFIRMATION_MODE_SYNCHRONOUS باید فوراً تأیید یا رد شود. تلاش برای ایجاد رزرو برای موجودیهایی با حالت تأیید CONFIRMATION_MODE_ASYNCHRONOUS باید یا فوراً رد شود یا با وضعیت PENDING ایجاد شود. |
linkoutRequiredReason | اختیاری. دلیل نیاز به linkout برای این اسلات. در صورت تنظیم، منبع فروشنده برای این اسلات باید یک LinkoutTemplate معتبر داشته باشد. (اختیاری) |
منابع
یک منبع برای تفکیک بازههای زمانی در دسترس از یکدیگر استفاده میشود، زمانی که کارکنان یا اتاقهای مختلفی بخشی از سرویس هستند. چندین بازه زمانی برای یک سرویس و بازه زمانی یکسان میتوانند در کنار هم وجود داشته باشند، زمانی که منابع مختلفی دارند.
| نمایش JSON |
|---|
{
"staffId": string,
"staffName": string,
"roomId": string,
"roomName": string,
"partySize": integer,
"roomDescription": {
object ( |
| فیلدها | |
|---|---|
staffId | شناسه اختیاری برای کارمندی که خدمات را ارائه میدهد. این فیلد، کارمند را در تمام فروشگاهها، خدمات و سوابق در دسترس بودن شناسایی میکند. همچنین باید در طول زمان پایدار باشد تا امکان همبستگی با رزروهای گذشته فراهم شود. در صورت وجود staffName، این فیلد باید وجود داشته باشد. |
staffName | نام اختیاری یکی از کارکنان ارائه دهنده خدمات. این فیلد برای کاربرانی که رزرو انجام میدهند نمایش داده میشود و باید خوانا باشد، نه اینکه یک شناسه مبهم باشد. در صورت وجود staffId، این فیلد باید موجود باشد. |
roomId | یک شناسه اختیاری برای اتاقی که سرویس در آن قرار دارد. این فیلد، اتاق را در بین تمام فروشندگان، سرویسها و رکوردهای در دسترس بودن مشخص میکند. همچنین باید در طول زمان پایدار باشد تا امکان همبستگی با رزروهای گذشته فراهم شود. در صورت وجود roomName، این فیلد نیز باید موجود باشد. |
roomName | یک نام اختیاری برای اتاقی که سرویس در آن قرار دارد. این فیلد برای کاربرانی که رزرو انجام میدهند نمایش داده میشود و باید برای انسان قابل خواندن باشد، برخلاف یک شناسه مبهم. (اختیاری اما در صورت وجود roomId الزامی است) در غذاخوری، نام اتاق فقط باید برای قسمتهای نشیمن مانند بار یا پاسیو استفاده شود و نباید برای منوهای با قیمت ثابت، فعالیتهای ویژه یا هر مقدار غیر اتاقی دیگری (مانند رزرو یا شام) استفاده شود. اکیداً توصیه میشود که قسمت نشیمن پیشفرض، اتاقی مرتبط با آن نداشته باشد. |
partySize | فقط برای صرف غذا: تعداد نفراتی که میتوانند در این بازه زمانی در رستوران حضور داشته باشند. یک رستوران میتواند برای یک زمان مشخص به چندین جایگاه اختصاص داده شود که هر کدام تعداد نفرات متفاوتی را مشخص میکنند، مثلاً اگر ۲، ۳ یا ۴ نفر بتوانند با رزرو قبلی در آن بنشینند. |
roomDescription | اختیاری. توضیحات اتاق محلی. در صورت تنظیم، باید یک مقدار پیشفرض ارائه شود. ترجیح داده میشود زبانهای رایج برای زبان فروشنده نیز ارائه شود. (اختیاری) |
عود
پیامهای تکرار اختیاری هستند، اما امکان نمایش فشردهتری از بازههای زمانی در دسترس بودن که به طور مداوم تکرار میشوند را فراهم میکنند. آنها معمولاً نشاندهنده برنامه کاری یک روز هستند. سپس از پیامهای ScheduleException برای نمایش محدودههای زمانی رزرو شده/در دسترس نبودن در روز کاری استفاده میشود.
الزامات:
- گسترش اسلاتهای در دسترس یا تکرارها نباید اسلاتهای یکسان ایجاد کند. اگر شناسهها، زمان شروع، مدت زمان و منابع مطابقت داشته باشند، اسلاتها یکسان در نظر گرفته میشوند.
- قالب استاندارد دسترسی و دورههای تکرار را در بازههای زمانی یک سرویس واحد با هم ترکیب نکنید. دورههای تکرار به نفع فروشندگان/سرویسهایی است که قرار ملاقات ارائه میدهند. قالب استاندارد برای فروشندگان/سرویسهایی با کلاسهای منظم برنامهریزی شده است.
- دورههای عود نباید بیش از ۲۴ ساعت طول بکشد.
| نمایش JSON |
|---|
{ "repeatUntil": string, "repeatEvery": string } |
| فیلدها | |
|---|---|
repeatUntil | حداکثر زمان UTC فراگیر که در دسترس بودن تا آن زمان تکرار میشود. از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: |
repeatEvery | زمان بین اسلاتهای دسترسی متوالی را تعریف میکند. مثال: یک بازه زمانی ۲۰ دقیقهای برای دسترسی، بازه زمانی تکرار ۳۰ دقیقهای، بازه زمانی شروع ۹:۰۰ صبح و بازه زمانی تکرار تا ساعت ۱۱:۰۰ صبح، بازههای زمانی ۹-۹:۲۰ صبح، ۹:۳۰-۹:۵۰ صبح، ۱۰-۱۰:۲۰ صبح، ۱۰:۳۰-۱۰:۵۰ صبح، ۱۱-۱۱:۲۰ صبح را نشان میدهد. (الزامی) مدت زمانی بر حسب ثانیه با حداکثر نه رقم کسری که به ' |
استثنای زمانبندی
پیامهای ScheduleException نشاندهنده محدودههای زمانی رزرو شده/غیرقابل دسترس در روز کاری هستند که استثناهایی برای تکرار شرح داده شده در بالا محسوب میشوند. با رزرو شدن بازههای زمانی، لیست استثناها باید بهروزرسانی شود تا محدودههای زمانی جدید غیرقابل دسترس را منعکس کند. خود تکرار نباید تغییر کند.
| نمایش JSON |
|---|
{
"timeRange": {
object ( |
| فیلدها | |
|---|---|
timeRange | محدوده زمانی استثنا. هر بازه زمانی که توسط تکرار توصیف شده و با این محدوده زمانی بسته-باز همپوشانی داشته باشد، غیرقابل دسترس در نظر گرفته خواهد شد. مثال: اگر تابع تکرار مدت زمان ۲۰ دقیقه، repeatEvery به مدت ۳۰ دقیقه، startTime به مدت ۹:۰۰ صبح و repeatUntil به مدت ۱۱:۰۰ صبح را مشخص کند، آنگاه یک ScheduleException با timeRange به مدت ۹:۴۵ صبح تا ۱۱:۰۰ صبح، اسلاتهای ۹:۳۰ تا ۹:۵۰ صبح، ۱۰:۱۰ تا ۱۰:۲۰ صبح و ۱۰:۳۰ تا ۱۰:۵۰ صبح را از دسترس خارج میکند. توجه داشته باشید که از آنجا که محدوده زمانی بسته-باز است، بازه زمانی شروع شده از ساعت ۱۱ صبح تحت تأثیر قرار نمیگیرد. |
پیشپرداخت
مبلغی که ممکن است به عنوان بخشی از رزرو از کاربر دریافت شود.
| نمایش JSON |
|---|
{
"priceInfo": {
object ( |
| فیلدها | |
|---|---|
priceInfo | کانتینر برای جزئیات قیمت. |
اطلاعات قیمت
کانتینر برای جزئیات قیمت.
| نمایش JSON |
|---|
{ "priceType": enum ( |
| فیلدها | |
|---|---|
priceType | نحوه اعمال قیمت یا محدوده قیمت (به ازای هر نفر یا ثابت) را تعریف میکند. |
فیلد اتحادیهای price_options . گزینههای قیمت میتوانند یا قیمت دقیق یا یک محدوده را مشخص کنند. price_options فقط میتواند یکی از موارد زیر باشد: | |
price | قیمت یک خدمت یا هزینه. |
priceRange | حد بالا و/یا پایین یک سرویس یا هزینه. |
محدوده قیمت
بستهبندی برای طیف وسیعی از مبالغ پولی، به عنوان نامحدود در نظر گرفته میشود، مگر اینکه هر دو مقدار تنظیم شده باشند. حداقل یکی از minAmount و maxAmount مورد نیاز است.
| نمایش JSON |
|---|
{ "minPrice": { object ( |
| فیلدها | |
|---|---|
minPrice | حداقل مقدار. |
maxPrice | حداکثر مبلغ. همیشه باید بزرگتر از حداقل قیمت باشد. |
مدت زمانالزام
این enum نشان میدهد که چه الزاماتی برای کاربر وجود دارد تا مدت زمان/زمان پایان اسلاتهای درخواستی را تأیید یا مشاهده کند.
| انومها | |
|---|---|
DURATION_REQUIREMENT_UNSPECIFIED | نحوهی مدیریت زمان پایان مشخص نشده است. این پیشفرض است. |
DO_NOT_SHOW_DURATION | زمان پایان به کاربر نشان داده نمیشود. |
MUST_SHOW_DURATION | قبل از تعیین وقت ملاقات، زمان پایان باید به کاربر نشان داده شود. |
لغو قوانین زمانبندی
قوانین زمانبندی سطح دسترسی
| نمایش JSON |
|---|
{ "lastBookableSec": string, "firstBookableSec": string, "lastOnlineCancellableSec": string } |
| فیلدها | |
|---|---|
lastBookableSec | آخرین زمانی (به ثانیه) که این اسلات میتواند رزرو شود. این مهر زمانی باید قبل از startSec اسلات باشد تا رعایت شود (اگر کاربران باید بتوانند پس از زمان شروع رزرو کنند، از Service Level SchedulingRules.min_booking_before_end_time استفاده کنید). در صورت وجود، هر چیزی که در min_booking_buffer از Service مربوطه SchedulingRules مشخص شده است را لغو میکند. |
firstBookableSec | اولین باری (به ثانیه) که این اسلات میتواند رزرو شود. این مهر زمانی باید قبل از startSec اسلات یا در صورت مشخص شدن lastBookableSec باشد. |
lastOnlineCancellableSec | در صورت تنظیم، آخرین باری (به ثانیه از زمان عصر یونیکس) که این بازه زمانی خاص از طریق رزرو با گوگل قابل لغو است. این فیلد هرگونه قانون لغو در سطح سرویس را لغو میکند. (اختیاری) |
حالت تأیید
روشهای تأیید مورد استفاده هنگام رزرو ظرفیتهای موجود.
| انومها | |
|---|---|
CONFIRMATION_MODE_UNSPECIFIED | حالت تأیید مشخص نشده است. تأیید همزمان فرض خواهد شد. |
CONFIRMATION_MODE_SYNCHRONOUS | رزرو برای این ظرفیت به صورت همزمان تأیید خواهد شد. |
CONFIRMATION_MODE_ASYNCHRONOUS | رزرو برای این ظرفیت به صورت غیرهمزمان تأیید خواهد شد. |
دلیل لازم برای لینکاوت
دلیل اینکه یک اسلات تجربه لینک اوت دارد.
| انومها | |
|---|---|
LINKOUT_REQUIRED_REASON_UNSPECIFIED | مقدار پیشفرض: استفاده نشود، معادل ناشناخته است. |
PAYMENT_REQUIRED | برای رزرو اسلات، پرداخت در پلتفرم همکار الزامی است. |
روشها | |
|---|---|
| « Availability Service موجود یک فروشنده که توسط تجمیعکننده مشخص شده مدیریت میشود» را جایگزین کرده و آن را برمیگرداند. |