Method: inventory.partners.merchants.services.availability.replace

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

בקשת HTTP

POST https://mapsbooking.googleapis.com/v1alpha/inventory/{serviceAvailability.name=partners/*/merchants/*/services/*}/availability:replace

בכתובת ה-URL נעשה שימוש בתחביר המרת gRPC.

פרמטרים של נתיב

פרמטרים
serviceAvailability.name

string

שם המשאב של השירות שעליו יש להחיל זאת. בפורמט של partners/{partner_id}/merchants/{merchantId}/services/{serviceId}

גוף הבקשה

גוף הבקשה מכיל נתונים במבנה הבא:

ייצוג JSON
{
  "serviceAvailability": {
    "name": string,
    "startTimeRestrict": string,
    "endTimeRestrict": string,
    "durationRestrict": string,
    "resourcesRestrict": {
      "staffId": string,
      "staffName": string,
      "roomId": string,
      "roomName": string,
      "partySize": integer
    },
    "availability": [
      {
        "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)
      }
    ]
  }
}
שדות
serviceAvailability.startTimeRestrict

string (Timestamp format)

אם תספקו את הפרטים האלה, ישויות הזמינות שסופקו ייחשבו כתמונת מצב מלאה מ-[startTimeRestrict, endTimeRestrict). כלומר, כל הזמינות הקיימת תימחק אם מתקיים התנאי הבא:

   startTimeRestrict <= availability.start_sec &&
   availability.start_sec < endTimeRestrict

אם הוגדרה הודעה לגבי משך הזמן, התנאי יוגבל עוד יותר:

  availability.duration == durationRestrict

אם מוגדרת הודעה של resourcesRestrict, התנאי יוגבל עוד יותר:

   availability.resources.staff_id == resourcesRestrict.staff_id &&
   availability.resources.room_id == resourcesRestrict.room_id

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

אם מגדירים את startTimeLimit בלי להגדיר את endTimeRestrict, המערכת מפרשת את ההגדרה של כל הזמנים שמתחילה ב-startTimeRestrict.

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

serviceAvailability.endTimeRestrict

string (Timestamp format)

אם מגדירים את endTimeRestrict לא מוגדרת, המערכת תפרש את הערך של כל הזמנים עד ל-endTimeRestrict.

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

serviceAvailability.durationRestrict

string (Duration format)

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

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

serviceAvailability.resourcesRestrict

object (Resources)

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

serviceAvailability.availability[]

object (Availability)

רשימת הזמינות החדשה.

גוף התגובה

אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכלול נתונים במבנה הבא:

רשימת הזמינות ומי/מתי צריך להחיל אותן.

ייצוג JSON
{
  "name": string,
  "startTimeRestrict": string,
  "endTimeRestrict": string,
  "durationRestrict": string,
  "resourcesRestrict": {
    object (Resources)
  },
  "availability": [
    {
      object (Availability)
    }
  ]
}
שדות
name

string

שם המשאב של השירות שעליו יש להחיל זאת. בפורמט של partners/{partner_id}/merchants/{merchantId}/services/{serviceId}

startTimeRestrict

string (Timestamp format)

אם תספקו את הפרטים האלה, ישויות הזמינות שסופקו ייחשבו כתמונת מצב מלאה מ-[startTimeRestrict, endTimeRestrict). כלומר, כל הזמינות הקיימת תימחק אם מתקיים התנאי הבא:

   startTimeRestrict <= availability.start_sec &&
   availability.start_sec < endTimeRestrict

אם הוגדרה הודעה לגבי משך הזמן, התנאי יוגבל עוד יותר:

  availability.duration == durationRestrict

אם מוגדרת הודעה של resourcesRestrict, התנאי יוגבל עוד יותר:

   availability.resources.staff_id == resourcesRestrict.staff_id &&
   availability.resources.room_id == resourcesRestrict.room_id

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

אם מגדירים את startTimeLimit בלי להגדיר את endTimeRestrict, המערכת מפרשת את ההגדרה של כל הזמנים שמתחילה ב-startTimeRestrict.

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

endTimeRestrict

string (Timestamp format)

אם מגדירים את endTimeRestrict לא מוגדרת, המערכת תפרש את הערך של כל הזמנים עד ל-endTimeRestrict.

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

durationRestrict

string (Duration format)

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

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

resourcesRestrict

object (Resources)

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

availability[]

object (Availability)

רשימת הזמינות החדשה.

היקפי הרשאות

נדרש היקף OAuth הבא:

  • https://www.googleapis.com/auth/mapsbooking