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)
}
فیلدها
start Time

string ( Timestamp format)

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

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

duration

string ( Duration format)

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

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

spots Total

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 است.
spots Open

string ( int64 format)

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

availability Tag

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 }
payment Option Id[]

string

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

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

recurrence

object ( Recurrence )

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

schedule Exception[]

object ( ScheduleException )

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

deposit

object ( Deposit )

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

no Show Fee

object ( NoShowFee )

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

prepayment

object ( Prepayment )

اختیاری. اطلاعات پیش پرداخت اختیاری برای این در دسترس بودن.

require Credit Card

enum ( RequireCreditCard )

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

ticket Type Id[]

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 در این شکاف).

(اختیاری)

duration Requirement

enum ( DurationRequirement )

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

scheduling Rule Overrides

object ( SchedulingRuleOverrides )

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

confirmation Mode

enum ( ConfirmationMode )

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

linkout Required Reason

enum ( LinkoutRequiredReason )

اختیاری. دلیل نیاز به پیوند برای این اسلات. اگر تنظیم شود، منبع Merchant برای این اسلات باید یک LinkoutTemplate معتبر داشته باشد. (اختیاری)

منابع

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

نمایندگی JSON
{
  "staffId": string,
  "staffName": string,
  "roomId": string,
  "roomName": string,
  "partySize": integer,
  "roomDescription": {
    object (Text)
  }
}
فیلدها
staff Id

string

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

staff Name

string

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

room Id

string

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

room Name

string

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

party Size

integer

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

room Description

object ( Text )

اختیاری. توضیحات اتاق محلی در صورت تنظیم، یک مقدار پیش فرض باید ارائه شود. ترجیح داده می‌شود که زبان‌های مشترک برای منطقه تجاری نیز ارائه شود. (اختیاری)

عود

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

الزامات:

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

string ( Timestamp format)

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

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

repeat Every

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)
  }
}
فیلدها
time Range

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 صبح شروع می‌شود تحت تأثیر قرار نمی‌گیرد.

پیش پرداخت

پرداختی که کاربر ممکن است به عنوان بخشی از رزرو خود دریافت کند.

نمایندگی JSON
{
  "priceInfo": {
    object (PriceInfo)
  }
}
فیلدها
price Info

object ( 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.
}
فیلدها
price Type

enum ( PriceType )

نحوه اعمال قیمت یا محدوده قیمت (به ازای هر نفر یا ثابت) را مشخص می کند.

price_options فیلد اتحادیه . گزینه های قیمت این است که یا قیمت دقیق یا محدوده را مشخص کنید. price_options فقط می تواند یکی از موارد زیر باشد:
price

object ( Price )

قیمت یک سرویس یا هزینه.

price Range

object ( PriceRange )

کران بالا و/یا پایین یک سرویس یا هزینه.

محدوده قیمت

بسته بندی برای محدوده ای از مقدار پولی به عنوان نامحدود تلقی می شود مگر اینکه هر دو مقدار تنظیم شده باشند. حداقل یکی از minAmount و maxAmount مورد نیاز است.

نمایندگی JSON
{
  "minPrice": {
    object (Price)
  },
  "maxPrice": {
    object (Price)
  }
}
فیلدها
min Price

object ( Price )

حداقل مقدار.

max Price

object ( Price )

حداکثر مقدار. همیشه باید > minPrice باشد.

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

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

Enums
DURATION_REQUIREMENT_UNSPECIFIED نحوه رسیدگی به زمان پایان مشخص نشده است. این پیش فرض است.
DO_NOT_SHOW_DURATION زمان پایان به کاربر نشان داده نمی شود.
MUST_SHOW_DURATION قبل از تعیین قرار، زمان پایان باید به کاربر نشان داده شود.

SchedulingRuleOverrides

قوانین زمان بندی سطح در دسترس بودن

نمایندگی JSON
{
  "lastBookableSec": string,
  "firstBookableSec": string,
  "lastOnlineCancellableSec": string
}
فیلدها
last Bookable Sec

string ( int64 format)

آخرین بار (در ثانیه) که این اسلات می تواند رزرو شود. این مهر زمانی باید قبل از startSec اسلات باشد تا رعایت شود (اگر کاربران می‌توانند بعد از زمان شروع رزرو کنند، از SchedulingRules.min_booking_before_end_time سطح سرویس استفاده کنید). در صورت وجود، هر چیزی که در min_booking_buffer از SchedulingRules سرویس مربوطه مشخص شده است لغو می شود.

first Bookable Sec

string ( int64 format)

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

last Online Cancellable Sec

string ( int64 format)

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

ConfirmationMode

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

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

LinkoutRequiredReason

دلیل اینکه یک اسلات تجربه لینک اوت دارد.

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

روش ها

replace

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