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

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

פרמטרים
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.

הפלט שנוצר תמיד יהיה בפורמט RFC 3339, עם נורמליזציה של Z ושימוש ב-0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים חוץ מ-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

serviceAvailability.endTimeRestrict

string (Timestamp format)

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

הפלט שנוצר תמיד יהיה בפורמט RFC 3339, עם נורמליזציה של Z ושימוש ב-0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים חוץ מ-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

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

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

הגדרת startTimeRestrict בלי להגדיר את endTimeRestrict מתפרשת כהגדרה של כל הזמן שמתחיל ב-startTimeRestrict.

הפלט שנוצר תמיד יהיה בפורמט RFC 3339, עם נורמליזציה של Z ושימוש ב-0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים חוץ מ-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

endTimeRestrict

string (Timestamp format)

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

הפלט שנוצר תמיד יהיה בפורמט RFC 3339, עם נורמליזציה של Z ושימוש ב-0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים חוץ מ-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

durationRestrict

string (Duration format)

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

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

resourcesRestrict

object (Resources)

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

availability[]

object (Availability)

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

היקפי הרשאות

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

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