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

Thay thế Availability của Service hiện có do người bán quản lý bằng trình tổng hợp được chỉ định và trả về.

Yêu cầu HTTP

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

URL sử dụng cú pháp Chuyển mã gRPC.

Tham số đường dẫn

Thông số
serviceAvailability.name

string

Tên tài nguyên của dịch vụ để áp dụng cho dịch vụ này. Theo định dạng partners/{partner_id}/merchants/{merchantId}/services/{serviceId}

Nội dung yêu cầu

Nội dung yêu cầu chứa dữ liệu với cấu trúc sau:

Biểu diễn dưới dạng 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)
      }
    ]
  }
}
Trường
serviceAvailability.startTimeRestrict

string (Timestamp format)

Nếu được cung cấp, chúng tôi sẽ coi các thực thể về Thời gian rảnh/bận được cung cấp là ảnh chụp nhanh hoàn chỉnh từ [startTimeRestrict, endTimeRestrict). Tức là tất cả thời gian rảnh/bận hiện có sẽ bị xoá nếu điều kiện sau đây là đúng:

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

Nếu bạn đặt thông báo về thời lượng, thì điều kiện sẽ bị hạn chế thêm:

  availability.duration == durationRestrict

Nếu bạn đặt thông báo về resourcesRestrict, thì điều kiện sẽ bị hạn chế thêm:

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

Các trường này thường được dùng để cung cấp thông tin cập nhật hoàn chỉnh về thời gian rảnh/bận trong một phạm vi thời gian nhất định.

Việc đặt startTimeRestrict trong khi để endTimeRestrict không được đặt sẽ được hiểu là tất cả thời gian bắt đầu từ startTimeRestrict.

Hãy dùng RFC 3339, trong đó dữ liệu đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các khoảng lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" hoặc "2014-10-02T15:01:23+05:30".

serviceAvailability.endTimeRestrict

string (Timestamp format)

Việc đặt endTimeRestrict trong khi để startTimeRestrict không được đặt sẽ được hiểu là tất cả thời gian cho đến endTimeRestrict.

Hãy dùng RFC 3339, trong đó dữ liệu đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các khoảng lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" hoặc "2014-10-02T15:01:23+05:30".

serviceAvailability.durationRestrict

string (Duration format)

Việc đặt thời lượng sẽ hạn chế thêm phạm vi cập nhật chỉ đối với thời gian rảnh/bận có thời lượng phù hợp.

Thời lượng tính bằng giây, có tối đa 9 chữ số thập phân, kết thúc bằng 's'. Ví dụ: "3.5s".

serviceAvailability.resourcesRestrict

object (Resources)

Việc đặt resourcesRestrict sẽ hạn chế thêm phạm vi cập nhật chỉ đối với tập hợp tài nguyên này. Tất cả các trường id của tài nguyên phải khớp chính xác.

serviceAvailability.availability[]

object (Availability)

Danh sách mới về thời gian rảnh/bận.

Nội dung phản hồi

Danh sách thời gian rảnh/bận và đối tượng/thời điểm áp dụng.

Nếu thành công, phần nội dung phản hồi sẽ chứa dữ liệu có cấu trúc sau:

Biểu diễn dưới dạng JSON
{
  "name": string,
  "startTimeRestrict": string,
  "endTimeRestrict": string,
  "durationRestrict": string,
  "resourcesRestrict": {
    object (Resources)
  },
  "availability": [
    {
      object (Availability)
    }
  ]
}
Trường
name

string

Tên tài nguyên của dịch vụ để áp dụng cho dịch vụ này. Theo định dạng partners/{partner_id}/merchants/{merchantId}/services/{serviceId}

startTimeRestrict

string (Timestamp format)

Nếu được cung cấp, chúng tôi sẽ coi các thực thể về Thời gian rảnh/bận được cung cấp là ảnh chụp nhanh hoàn chỉnh từ [startTimeRestrict, endTimeRestrict). Tức là tất cả thời gian rảnh/bận hiện có sẽ bị xoá nếu điều kiện sau đây là đúng:

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

Nếu bạn đặt thông báo về thời lượng, thì điều kiện sẽ bị hạn chế thêm:

  availability.duration == durationRestrict

Nếu bạn đặt thông báo về resourcesRestrict, thì điều kiện sẽ bị hạn chế thêm:

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

Các trường này thường được dùng để cung cấp thông tin cập nhật hoàn chỉnh về thời gian rảnh/bận trong một phạm vi thời gian nhất định.

Việc đặt startTimeRestrict trong khi để endTimeRestrict không được đặt sẽ được hiểu là tất cả thời gian bắt đầu từ startTimeRestrict.

Hãy dùng RFC 3339, trong đó dữ liệu đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các khoảng lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" hoặc "2014-10-02T15:01:23+05:30".

endTimeRestrict

string (Timestamp format)

Việc đặt endTimeRestrict trong khi để startTimeRestrict không được đặt sẽ được hiểu là tất cả thời gian cho đến endTimeRestrict.

Hãy dùng RFC 3339, trong đó dữ liệu đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các khoảng lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" hoặc "2014-10-02T15:01:23+05:30".

durationRestrict

string (Duration format)

Việc đặt thời lượng sẽ hạn chế thêm phạm vi cập nhật chỉ đối với thời gian rảnh/bận có thời lượng phù hợp.

Thời lượng tính bằng giây, có tối đa 9 chữ số thập phân, kết thúc bằng 's'. Ví dụ: "3.5s".

resourcesRestrict

object (Resources)

Việc đặt resourcesRestrict sẽ hạn chế thêm phạm vi cập nhật chỉ đối với tập hợp tài nguyên này. Tất cả các trường id của tài nguyên phải khớp chính xác.

availability[]

object (Availability)

Danh sách mới về thời gian rảnh/bận.

Phạm vi uỷ quyền

Yêu cầu phạm vi OAuth sau:

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