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_id שצוינו בהודעת השירות. באופן דומה, payment_option_id שמצוינים כאן לא חייבים להופיע בהודעת השירות, אבל צריך להגדיר אותם ברמת המוכר.

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"} כרטיס מסוג {ticketTypeId: "adult_2" ShortDescription: " Adult weekends"} כרטיס סוג {ticketTypeId: "youth_1" ShortDescription: "Youth weekdays"} סוג כרטיס {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"} כרטיס סוג {ticketTypeId: "youth" ShortDescription: "Youth"} TicketType {ticketTypeId: "senior" ShortDescription: "Security"}

כדי לציין שכל שלושת סוגי הכרטיסים זמינים בחלון הזמן הזה, משתמשים ב-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

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

staffName

string

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

roomId

string

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

roomName

string

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

partySize

integer

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

roomDescription

object (Text)

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

חזרה

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

דרישות:

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

משך הזמן בשניות, עם עד תשע ספרות עשרוניות, שמסתיימים ב-'s'. דוגמה: "3.5s".

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)' מציין אילו דרישות המשתמש צריך לאשר כדי לאשר את משך הזמן או את שעת הסיום של המשבצות המבוקשות או לצפות בהן.

טיפוסים בני מנייה (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 כדי להזמין זמן פרסום, צריך לשלם בפלטפורמה של השותף.

שיטות

replace

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