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 משתמשת בתחביר של Transcoding של 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,
      "roomDescription": {
        object (Text)
      }
    },
    "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)
        },
        "prepayment": {
          object (Prepayment)
        },
        "requireCreditCard": enum (RequireCreditCard),
        "ticketTypeId": [
          string
        ],
        "durationRequirement": enum (DurationRequirement),
        "schedulingRuleOverrides": {
          object (SchedulingRuleOverrides)
        },
        "confirmationMode": enum (ConfirmationMode),
        "linkoutRequiredReason": enum (LinkoutRequiredReason)
      }
    ]
  }
}
שדות
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

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

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

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

serviceAvailability.endTimeRestrict

string (Timestamp format)

הגדרת endTimeRestrict בלי להגדיר את startTimeRestrict נתפסת ככל הזמן עד endTimeRestrict.

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

serviceAvailability.durationRestrict

string (Duration format)

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

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

serviceAvailability.resourcesRestrict

object (Resources)

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

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)

אם יסופקו, נתייחס לישות הזמינות שסופקו כקובץ snapshot מלא מ-[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

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

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

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

endTimeRestrict

string (Timestamp format)

הגדרת endTimeRestrict בלי להגדיר את startTimeRestrict נתפסת ככל הזמן עד endTimeRestrict.

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

durationRestrict

string (Duration format)

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

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

resourcesRestrict

object (Resources)

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

availability[]

object (Availability)

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

היקפי ההרשאות

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

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