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 ...}

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

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

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

deposit

object (Deposit)

הפקדה אופציונלית עבור הזמינות הזו. ביטול של הפקדת השירות אם ציינתם אותה.

noShowFee

object (NoShowFee)

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

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: "סמנכ"ל"}

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

משאבים

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

ייצוג JSON
{
  "staffId": string,
  "staffName": string,
  "roomId": string,
  "roomName": string,
  "partySize": integer
}
שדות
staffId

string

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

staffName

string

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

roomId

string

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

roomName

string

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

partySize

integer

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

חזרה

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

דרישות:

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

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

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 של כללי התזמון של השירות המתאים.

firstBookableSec

string (int64 format)

זו הפעם הראשונה (בשניות) שבה אפשר להזמין את המשבצת הזאת. חותמת הזמן צריכה להיות לפני ה-StartSec של המשבצת, או lastBookableSec אם צוין.

lastOnlineCancellableSec

string (int64 format)

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

ConfirmationMode

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

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

שיטות

replace

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