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)

שעת ההתחלה של המשבצת לפגישה.

חותמת זמן בפורמט UTC 'Zulu' של RFC3339, עם רזולוציה של ננו-שנייה ועד תשע ספרות עשרוניות. דוגמאות: "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 ...}

הערה: אם שולחים בקשות באמצעות פורמט דחיסת הזמינות שמוגדר בהמשך, שני השדות האלה יוסקו.

  • חזרה מתייחסת ל-spotsTotal=1 ול-spotsOpen=1.
  • הודעת ScheduleException מתייחסת ל-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)

שעות שבהן אי אפשר לתזמן את השירות הזה. כדי להגביל את מספר ההודעות מסוג 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" shortDescription: "Adult"} TicketType {ticketTypeId: "youth" shortDescription: "Youth"} TicketType {ticketTypeId: "senior" shortDescription: "Senior"}

כדי לציין שכל שלושת סוגי הכרטיסים זמינים בחלון הזמן הזה, משתמשים ב-availability {ticketTypeId: "adult" ticketTypeId: "youth" ticketTypeId: "senior" ...} או ב-`availability {...}' (לא מגדירים את ticketTypeId בחלון הזה).

(אופציונלי)

durationRequirement

enum (DurationRequirement)

הדרישה להציג את משך הזמן של המודעות או את שעת הסיום שלהן. אם המשבצת לא זמינה, המערכת תתעלם מהשדה הזה. לא בשימוש בקטגוריית 'דברים שאפשר לעשות'. (אופציונלי)

schedulingRuleOverrides

object (SchedulingRuleOverrides)

כללי תזמון של זמינות. אם השדות מאוכלסים, הם יבטלו כללי תזמון תואמים ב-SchedulingRules ברמת השירות.

confirmationMode

enum (ConfirmationMode)

מצב האישור שישמש בעת ההזמנה של זמן הפרסום הזה. ניסיונות ליצור הזמנות לזמינות עם מצב אישור של CONFIRMATION_MODE_SYNCHRONOUS חייבים להתקבל או להידחות באופן מיידי. ניסיונות ליצור הזמנות לזמינות עם מצב אישור של CONFIRMATION_MODE_ASYNCHRONOUS חייבים להידחות באופן מיידי או להיווצר עם סטטוס PENDING.

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

רלוונטי רק למסעדות: מספר הסועדים שאפשר לארח במסגרת חלון הזמנים הזה. אפשר לשייך למסעדה כמה משבצות באותו זמן, כאשר כל אחת מהן מציינת את מספר האנשים שיכולים לשבת בהזמנה. לדוגמה, אם אפשר לשבת 2, 3 או 4 אנשים בהזמנה.

roomDescription

object (Text)

זה שינוי אופציונלי. תיאור החדר המותאם לשוק המקומי. אם הוא מוגדר, צריך לציין ערך ברירת מחדל. מומלץ גם לציין שפות נפוצות לפי האזור של המוכר. (אופציונלי)

חזרה

הודעות על חזרה הן אופציונליות, אבל הן מאפשרות לייצג בצורה קומפקטית יותר משבצות זמינות חוזרות באופן קבוע. בדרך כלל הם מייצגים את לוח הזמנים של יום עבודה. לאחר מכן, הודעות ScheduleException משמשות לייצוג טווחי זמן שהוזמנו או לא זמינים במהלך יום העבודה.

דרישות:

  1. הרחבת משבצות הזמינות או החזרות חוזרות לא יכולה ליצור משבצות זהות. אם המזהים, startTime, משך הזמן והמשאבים תואמים, המיקומים נחשבים זהים.
  2. אין לשלב בין פורמט הזמינות הרגיל לבין חזרה קבועה בתוך חריצי הזמן של שירות יחיד. התכונה 'תזמון קבוע' מועילה למוכרים או לשירותים שמציעים פגישות. הפורמט הרגיל מיועד למוכרים או לשירותים עם שיעורים מתוזמנים באופן קבוע.
  3. חזרות לא יכולות להימשך יותר מ-24 שעות.
ייצוג ב-JSON
{
  "repeatUntil": string,
  "repeatEvery": string
}
שדות
repeatUntil

string (Timestamp format)

חותמת הזמן המקסימלית בשעון UTC, כולל, שבה הזמינות חוזרת על עצמה.

חותמת זמן בפורמט UTC 'Zulu' של RFC3339, עם רזולוציה של ננו-שנייה ועד תשע ספרות עשרוניות. דוגמאות: "2014-10-02T15:01:23Z" ו-"2014-10-02T15:01:23.045123456Z".

repeatEvery

string (Duration format)

ההגדרה קובעת את משך הזמן בין חלונות זמינות רצופים.

דוגמה: זמינות באורך 20 דקות, עם repeatEvery של 30 דקות, startTime של 9:00 ו-repeatUntil של 11:00, תיצור משבצות בשעות 9:00-9:20, 9:30-9:50, 10:00-10:20, 10:30-10:50, 11:00-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:00 עד 10:20 ו-10:30 עד 10:50.

הערה: מכיוון שטווח הזמן הוא סגור-פתוח, השקע שמתחיל בשעה 11:00 לא יושפע.

תשלום מראש

תשלום שהמשתמש עשוי להיות מחויב בו כחלק מההזמנה.

ייצוג ב-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

המאפיין הזה מציין את הדרישות שהמשתמש צריך לעמוד בהן כדי לאשר או לראות את משך הזמן או את שעת הסיום של המרווחים הזמינים המבוקשים.

טיפוסים בני מנייה (enum)
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)

אם הערך מוגדר, זהו המועד האחרון (בשניות מתחילת התקופה של מערכת Unix) שבו אפשר לבטל את חלון הזמן הזה לפגישה דרך 'Google הזמנת מקומות'. השדה הזה יבטל כללי ביטול ברמת השירות. (אופציונלי)

ConfirmationMode

מצבי האישור שבהם נעשה שימוש כשמזמינים זמינות.

טיפוסים בני מנייה (enum)
CONFIRMATION_MODE_UNSPECIFIED לא צוין מצב האישור. ההנחה היא שתתבצע אישור סינכרוני.
CONFIRMATION_MODE_SYNCHRONOUS ההזמנות לזמינות הזו יאושרו באופן סינכרוני.
CONFIRMATION_MODE_ASYNCHRONOUS ההזמנות לזמינות הזו יאושרו באופן אסינכרוני.

LinkoutRequiredReason

הסיבה לכך שבתצוגה של מיקום מודעה יש חוויית שימוש של קישור יוצא.

טיפוסים בני מנייה (enum)
LINKOUT_REQUIRED_REASON_UNSPECIFIED ערך ברירת המחדל: אין להשתמש בו, הוא שווה ל-unknown.
PAYMENT_REQUIRED כדי להזמין זמן פרסום, צריך לשלם בפלטפורמה של השותף.

Methods

replace

הפונקציה מחליפה את הערך של Availability ב-Service קיים של מוכר שמנוהל על ידי המאגר שצוין, ומחזירה אותו.