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

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

   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)

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

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

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

   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)

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

availability[]

object (Availability)

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

היקפי הרשאות

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

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