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, ברזולוציה של ננו-שנייה ועד תשע ספרות עשרוניות. דוגמאות: "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.
  • חריגת Schedule פירושה 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

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

השדה הזה מבטל את מזהי 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"} TicketType {ticketTypeId: "adult_2" shortDescription: "adult_2" shortDescription: " שמוגדרים

כדי לייצג את המלאי במהלך ימי חול: 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: " old"}

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

(אופציונלי)

durationRequirement

enum (DurationRequirement)

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

schedulingRuleOverrides

object (SchedulingRuleOverrides)

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

confirmationMode

enum (ConfirmationMode)

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

מקורות מידע

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

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

string

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

staffName

string

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

roomId

string

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

roomName

string

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

partySize

integer

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

חזרה

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

דרישות:

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

string (Timestamp format)

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

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

repeatEvery

string (Duration format)

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

דוגמה: זמינות של 20 דקות, הגדרה חוזרת של כל 30 דקות, שעת התחלה של 9:00 ומשך זמן חוזר עד 11:00 תאפשר לך ליצור משבצות זמן בין 9-9:20 ל-9:30-9:50, 10:20-20:00 , 10:30-10:50. (חובה)

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

ScheduleException

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

ייצוג JSON
{
  "timeRange": {
    object (TimeRange)
  }
}
שדות
timeRange

object (TimeRange)

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

דוגמה: אם החזרה מציינת משך זמן של 20 דקות, ערך חוזר של כל 30 דקות, שעת התחלה של 9:00 ושעת התחלה של 11:00, ופונקציית ScheduleRate עם טווח זמן של 9:45 עד 11:00 לא תהיה זמינה במועדים הבאים: 9:30-9:50 , 01:00-1:00 ו-1:00:01:00 ו-1:00.

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

DurationRequirement

המספר הזה מציין את הדרישות שהמשתמש צריך לאשר או לראות את משך/שעת הסיום המבוקשים של יחידות הקיבולת (Slot).

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

SchedulingRuleOverrides

כללי תזמון ברמת הזמינות.

ייצוג JSON
{
  "lastBookableSec": string,
  "firstBookableSec": string,
  "lastOnlineCancellableSec": string
}
שדות
lastBookableSec

string (int64 format)

הפעם האחרונה (בשניות) שבה ניתן להזמין את המשבצת הזו. חותמת הזמן חייבת לחול לפני ה-startSec של יחידת הקיבולת כדי שניתן יהיה לכבד אותה (אם המשתמשים יכולים לבצע הזמנה אחרי שעת ההתחלה, יש להשתמש ברמת השירות Scheduled Rules.min_booking_before_end_time). אם השדה הזה קיים, הוא יבטל את כל מה שצוין ב-min_booking_buffer של כללי התזמון של השירות המתאים.

firstBookableSec

string (int64 format)

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

lastOnlineCancellableSec

string (int64 format)

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

ConfirmationMode

מצבי האישור שבהם נעשה שימוש במהלך ההזמנה.

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

שיטות

replace

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