REST Resource: inventory.partners.merchants.services.availability

Tài nguyên: Phạm vi cung cấp

Vị trí cho biết tình trạng còn hàng trong dịch vụ của người bán, cho biết thời gian và số lượng mặt hàng.

Biểu diễn dưới dạng JSON
{
  "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
startTime

string (Timestamp format)

Thời gian bắt đầu của khung giờ nhận đặt hẹn.

Dấu thời gian ở định dạng "Zulu" RFC3339 UTC, có độ phân giải nano giây và tối đa 9 chữ số thập phân. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

duration

string (Duration format)

Thời lượng của khung giờ nhận đặt hẹn

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

spotsTotal

string (int64 format)

Tổng số chỗ và số chỗ còn trống của lịch phát sóng này. Ví dụ:

  • Lớp Yoga gồm 10 chỗ, có 3 chỗ được đặt trước: availability {spotsTotal: 10, spotsOpen: 7 ...}
  • Phiên mát xa trên ghế đã kín chỗ: availability {spotsTotal: 1, spotsOpen: 0 ...}

Lưu ý: Nếu gửi yêu cầu sử dụng định dạng nén tính khả dụng được xác định bên dưới, hai trường này sẽ được suy ra.

  • Lặp lại ngụ ý spotsTotal=1spotsOpen=1.
  • ScheduleException ngụ ý spotsTotal=1spotsOpen=0.
spotsOpen

string (int64 format)

Số lượng chỗ trống.

availabilityTag

string

Một chuỗi mờ tuỳ chọn để xác định vùng tình trạng rảnh/bận này. Nếu được đặt, lịch hẹn này sẽ được đưa vào yêu cầu đặt lịch/cập nhật/huỷ cuộc hẹn.

resources

object (Resources)

Các tài nguyên không bắt buộc dùng để phân biệt khung giờ trống này với những phòng khác khi dịch vụ có nhiều nhân viên hoặc phòng.

Ví dụ: cùng một lớp Yoga với 2 người hướng dẫn:

availability { resources { staffId: "1" staffName: "Amy" }
               spotsTotal: 10 spotsOpen: 7 }
availability { resources { staffId: "2" staffName: "John" }
               spotsTotal: 5 spotsOpen: 2 }
paymentOptionId[]

string

Danh sách mã nhận dạng tham chiếu đến các lựa chọn thanh toán có thể dùng để thanh toán cho vùng này. Các phương thức thanh toán thực tế được xác định ở cấp Người bán và cũng có thể được chia sẻ giữa nhiều Người bán.

Trường này sẽ ghi đè mọi payment_option_ids được chỉ định trong thông báo dịch vụ. Tương tự, payment_option_ids được chỉ định ở đây KHÔNG bắt buộc phải có trong thông báo dịch vụ, mặc dù phải được xác định ở cấp Người bán.

recurrence

object (Recurrence)

Thông tin về lịch biểu lặp lại cho lịch phát sóng, thể hiện nhiều thời điểm bắt đầu. Một lịch biểu định kỳ phải chứa các cuộc hẹn trong một ngày làm việc.

scheduleException[]

object (ScheduleException)

Thời điểm không thể lên lịch dịch vụ này. Để giới hạn số lượng thông báo scheduleException, hãy cân nhắc việc kết hợp các ngoại lệ liền kề.

deposit

object (Deposit)

Khoản đặt cọc không bắt buộc cho tình trạng phòng này. Ghi đè khoản tiền đặt cọc dịch vụ nếu có.

noShowFee

object (NoShowFee)

Không bắt buộc phải trả phí nếu không đến nhận phòng cho tình trạng phòng này. Ghi đè phí dịch vụ không hiển thị nếu bạn đã chỉ định phí không hiển thị.

prepayment

object (Prepayment)

Không bắt buộc. Thông tin thanh toán trước không bắt buộc cho tình trạng sẵn có này.

requireCreditCard

enum (RequireCreditCard)

Cho biết liệu người dùng có phải cung cấp thẻ tín dụng để đặt khung giờ trống này hay không. Nếu bạn không đặt giá trị này, giá trị này sẽ được kế thừa từ cấp dịch vụ nếu được đặt ở đó. (không bắt buộc)

ticketTypeId[]

string

Cho biết danh sách các loại vé được hỗ trợ cho khung giờ trống này. Nếu không đặt, tất cả các loại vé trong dịch vụ mẹ đều dùng được cho vùng này. Lưu ý rằng bạn phải xác định các giá trị của trường này trong dịch vụ mẹ. Ví dụ:

  • Dịch vụ có 4 loại vé: TicketType {ticketTypeId: "adult_1" shortDescription: "Adult weekdays"} TicketType {ticketTypeId: "adult_2" shortDescription: "Adult weekends"} TicketType {ticketTypeId: "youth_1" shortDescription: "Youth weekdays"} TicketType {ticketTypeId: "youth_2" shortDescription: "Youth weekends"}

Để thể hiện khoảng không quảng cáo trong các ngày trong tuần: availability {ticketTypeId: "adult_1" ticketTypeId: "youth_1"...}. Để thể hiện khoảng không quảng cáo trong mùa lễ: availability {ticketTypeId: "adult_2" ticketTypeId: "youth_2"...}.

  • Dịch vụ có 3 loại vé: TicketType {ticketTypeId: "adult" shortDescription: "Adult"} TicketType {ticketTypeId: "youth" shortDescription: "Youth"} TicketType {ticketTypeId: "senior" shortDescription: "Senior"}

Để cho biết cả ba loại vé đều có sẵn cho khung giờ này, hãy sử dụng availability {ticketTypeId: "adult" ticketTypeId: "youth" ticketTypeId: "senior" ...} hoặc "availability {...}" (không đặt ticketTypeId trong khung giờ này).

(không bắt buộc)

durationRequirement

enum (DurationRequirement)

Yêu cầu về việc hiển thị thời lượng và/hoặc thời gian kết thúc của vùng quảng cáo. Trường này sẽ bị bỏ qua nếu vùng đó không có sẵn. Không được dùng trong ngành dọc Điểm tham quan. (không bắt buộc)

schedulingRuleOverrides

object (SchedulingRuleOverrides)

Quy tắc lên lịch về tình trạng rảnh/bận. Nếu các trường được điền sẵn, chúng sẽ ghi đè mọi quy tắc lập lịch tương ứng trên SchedulingRules cấp dịch vụ.

confirmationMode

enum (ConfirmationMode)

Chế độ xác nhận sẽ được dùng khi đặt lịch trống trong tình trạng còn hàng này. Những nỗ lực tạo yêu cầu đặt trước cho tình trạng còn hàng bằng phương thức xác nhận là CONFIRMATION_MODE_SYNCHRONOUS phải được xác nhận hoặc bị từ chối ngay lập tức. Đối với những yêu cầu đặt lịch phát sóng cho lịch phát sóng có phương thức xác nhận là CONFIRMATION_MODE_ASYNCHRONOUS, hệ thống phải từ chối ngay lập tức hoặc được tạo với trạng thái PENDING.

linkoutRequiredReason

enum (LinkoutRequiredReason)

Không bắt buộc. Lý do yêu cầu đường liên kết cho vị trí này. Nếu được đặt, tài nguyên Người bán cho vị trí này phải có LinkoutTemplate hợp lệ. (không bắt buộc)

Tài nguyên

Tài nguyên được dùng để phân biệt các khung giờ trống với nhau khi có nhiều nhân viên hoặc phòng tham gia dịch vụ. Nhiều khung giờ cho cùng một dịch vụ và khoảng thời gian có thể cùng tồn tại khi các khung giờ đó có tài nguyên khác nhau.

Biểu diễn dưới dạng JSON
{
  "staffId": string,
  "staffName": string,
  "roomId": string,
  "roomName": string,
  "partySize": integer,
  "roomDescription": {
    object (Text)
  }
}
Trường
staffId

string

Giấy tờ tuỳ thân không bắt buộc của nhân viên cung cấp dịch vụ. Trường này xác định nhân viên của tất cả người bán, dịch vụ và hồ sơ về tình trạng còn hàng. Giá phòng cũng cần phải ổn định theo thời gian để có thể tương quan với các lượt đặt phòng trước đây. Trường này phải có nếu có staffName.

staffName

string

Tên không bắt buộc của nhân viên cung cấp dịch vụ. Trường này sẽ hiển thị cho người dùng đặt phòng và phải là trường mà con người có thể đọc được, thay vì mã nhận dạng không rõ ràng. Bạn bắt buộc phải dùng trường này nếu có mã nhân viên.

roomId

string

Mã nhận dạng không bắt buộc cho phòng chứa dịch vụ. Trường này xác định phòng trên tất cả người bán, dịch vụ và hồ sơ về tình trạng phòng. Số liệu này cũng cần phải ổn định theo thời gian để cho phép mối tương quan với các lượt đặt phòng trước đây. Bạn phải có trường này nếu có RoomName.

roomName

string

Tên không bắt buộc cho phòng chứa dịch vụ. Trường này sẽ hiển thị cho người dùng đặt phòng và phải có thể đọc được, chứ không phải giá trị nhận dạng không rõ ràng. (không bắt buộc nhưng bắt buộc nếu có roomId) Trong phần ăn uống, tên phòng chỉ được dùng cho khu vực chỗ ngồi như quầy bar hoặc hiên nhà và không được dùng cho thực đơn giá cố định, hoạt động đặc biệt hoặc bất kỳ giá trị nào khác không phải phòng (chẳng hạn như đặt trước hoặc bữa tối). Bạn không nên liên kết khu vực chỗ ngồi mặc định với phòng.

partySize

integer

Chỉ áp dụng cho nhà hàng ăn uống: Quy mô bữa tiệc có thể được phục vụ trong khung giờ này. Một nhà hàng có thể được liên kết với nhiều Khe cắm cùng một lúc, mỗi vị trí chỉ định một bên khác nhau, nếu ví dụ: 2, 3 hoặc 4 người có thể ngồi trước khi đặt chỗ.

roomDescription

object (Text)

Không bắt buộc. Nội dung mô tả phòng đã bản địa hoá. Nếu được đặt, bạn phải cung cấp giá trị mặc định. Bạn cũng nên cung cấp các ngôn ngữ phổ biến cho ngôn ngữ của người bán. (không bắt buộc)

Tần suất

Không bắt buộc phải gửi thông báo định kỳ, nhưng cho phép trình bày ngắn gọn hơn các khung giờ trống lặp lại liên tục. Các mốc thời gian này thường đại diện cho lịch làm việc trong ngày. Sau đó, thông báo ScheduleException được dùng để biểu thị các phạm vi thời gian đã đặt trước/không có sẵn trong ngày làm việc.

Yêu cầu:

  1. Việc mở rộng khung giờ hoạt động hoặc lịch biểu lặp lại KHÔNG được tạo ra các khung giờ giống hệt nhau. Nếu id, thời gian bắt đầu, thời lượng và tài nguyên khớp với nhau, vị trí sẽ được coi là giống hệt nhau.
  2. ĐỪNG kết hợp định dạng lịch phát sóng chuẩn và lịch phát sóng định kỳ trong các khung giờ của một dịch vụ. Việc định kỳ mang lại lợi ích cho người bán/dịch vụ cung cấp cuộc hẹn. Định dạng tiêu chuẩn dành cho những người bán/dịch vụ có các lớp học được lên lịch thường xuyên.
  3. Lần lặp lại không được kéo dài quá 24 giờ.
Biểu diễn dưới dạng JSON
{
  "repeatUntil": string,
  "repeatEvery": string
}
Trường
repeatUntil

string (Timestamp format)

Dấu thời gian tối đa (theo giờ UTC) mà thời gian phát hành sẽ lặp lại cho đến.

Dấu thời gian theo múi giờ "Zulu" RFC3339 (giờ UTC) với độ phân giải nano giây và lên đến 9 chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

repeatEvery

string (Duration format)

Xác định thời gian giữa các khung giờ trống liên tiếp.

Ví dụ: Lịch phát sóng có thời lượng 20 phút, repeatEvery là 30 phút, startTime là 9:00 và repeatUntil là 11:00 sẽ tạo ra các khung giờ phát sóng từ 9:00 đến 9:20, 9:30 đến 9:50, 10:00 đến 10:20, 10:30 đến 10:50, 11:00 đến 11:20. (bắt buộc)

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

ScheduleException

Thông báo ScheduleException thể hiện các phạm vi thời gian đã đặt trước/không có sẵn trong ngày làm việc, đây là các trường hợp ngoại lệ đối với lịch biểu định kỳ được mô tả ở trên. Khi người dùng đặt khung giờ, danh sách các trường hợp ngoại lệ phải được cập nhật để phản ánh những khoảng thời gian mới không nhận đặt lịch hẹn. Bạn không nên sửa đổi chính sự lặp lại này.

Biểu diễn dưới dạng JSON
{
  "timeRange": {
    object (TimeRange)
  }
}
Trường
timeRange

object (TimeRange)

Khoảng thời gian của ngoại lệ. Mọi khung giờ được mô tả theo sự kiện lặp lại và chồng chéo với phạm vi thời gian đóng cửa này sẽ được coi là không sử dụng được.

Ví dụ: Nếu lịch biểu định kỳ chỉ định thời lượng là 20 phút, repeatEvery là 30 phút, startTime là 9:00 và repeatUntil là 11:00, thì ScheduleException có timeRange là 9:45-11:00 sẽ không cung cấp các khung giờ từ 9:30 đến 9:50, 10 đến 10:20 và 10:30 đến 10:50.

Xin lưu ý rằng vì phạm vi thời gian là đóng-mở, nên khung giờ bắt đầu lúc 11 giờ sáng sẽ không bị ảnh hưởng.

Trả Tiền Trước

Một khoản thanh toán mà người dùng có thể phải trả trong quá trình đặt phòng.

Biểu diễn dưới dạng JSON
{
  "priceInfo": {
    object (PriceInfo)
  }
}
Trường
priceInfo

object (PriceInfo)

Vùng chứa thông tin về giá.

PriceInfo

Vùng chứa thông tin về giá.

Biểu diễn dưới dạng JSON
{
  "priceType": enum (PriceType),

  // Union field price_options can be only one of the following:
  "price": {
    object (Price)
  },
  "priceRange": {
    object (PriceRange)
  }
  // End of list of possible types for union field price_options.
}
Trường
priceType

enum (PriceType)

Xác định cách áp dụng giá hoặc khoảng giá (mỗi người hoặc cố định)

Trường hợp hợp nhất price_options. Lựa chọn về giá dùng để chỉ định một mức giá chính xác hoặc một khoảng giá. price_options chỉ có thể là một trong những trạng thái sau đây:
price

object (Price)

Giá của một dịch vụ hoặc khoản phí.

priceRange

object (PriceRange)

Giới hạn trên và/hoặc giới hạn dưới của một dịch vụ hoặc một khoản phí.

PriceRange

Trình bao bọc cho một dải số tiền được coi là không ràng buộc trừ phi bạn đặt cả hai giá trị. Bạn phải cung cấp ít nhất một trong hai giá trị minAmount và maxAmount.

Biểu diễn dưới dạng JSON
{
  "minPrice": {
    object (Price)
  },
  "maxPrice": {
    object (Price)
  }
}
Trường
minPrice

object (Price)

Số tiền tối thiểu.

maxPrice

object (Price)

Số tiền tối đa. Phải luôn là > minPrice.

DurationRequirement

Enum này cho biết những yêu cầu tồn tại để người dùng xác nhận hoặc xem thời lượng/thời gian kết thúc của khung giờ được yêu cầu.

Enum
DURATION_REQUIREMENT_UNSPECIFIED Bạn chưa chỉ định cách xử lý thời gian kết thúc. Đây là tuỳ chọn mặc định.
DO_NOT_SHOW_DURATION Người dùng không nhìn thấy thời gian kết thúc.
MUST_SHOW_DURATION Người dùng phải nhìn thấy thời gian kết thúc thì mới có thể đặt cuộc hẹn.

SchedulingRuleOverrides

Quy tắc lên lịch cấp tình trạng rảnh/bận.

Biểu diễn dưới dạng JSON
{
  "lastBookableSec": string,
  "firstBookableSec": string,
  "lastOnlineCancellableSec": string
}
Trường
lastBookableSec

string (int64 format)

Thời gian gần nhất (tính bằng giây) mà bạn có thể đặt chỗ khung giờ này. Dấu thời gian này phải trước startSec của khung giờ để được tuân thủ (nếu người dùng có thể đặt trước sau thời gian bắt đầu, hãy sử dụng SchedulingRules.min_booking_before_end_time ở cấp dịch vụ). Nếu có, sẽ ghi đè mọi nội dung được chỉ định trong min_booking_buffer của SchedulingRules của Dịch vụ tương ứng.

firstBookableSec

string (int64 format)

Lần đầu tiên (tính bằng giây) mà khung giờ này có thể được đặt trước. Dấu thời gian này phải trước startSec của vị trí hoặc lastBookableSec nếu được chỉ định.

lastOnlineCancellableSec

string (int64 format)

Nếu được đặt, thời gian cuối cùng (tính bằng giây kể từ thời gian Unix) mà thời gian rảnh cụ thể này có thể bị hủy thông qua Đặt chỗ với Google. Trường này sẽ ghi đè mọi quy tắc huỷ ở cấp dịch vụ. (không bắt buộc)

ConfirmationMode

Các chế độ xác nhận được dùng khi đặt trước tình trạng phòng.

Enum
CONFIRMATION_MODE_UNSPECIFIED Chưa chỉ định chế độ xác nhận. Trạng thái xác nhận đồng bộ sẽ được giả định.
CONFIRMATION_MODE_SYNCHRONOUS Các yêu cầu đặt trước cho tình trạng còn hàng này sẽ được xác nhận một cách đồng bộ.
CONFIRMATION_MODE_ASYNCHRONOUS Yêu cầu đặt trước cho tình trạng còn hàng này sẽ được xác nhận không đồng bộ.

LinkoutRequiredReason

Lý do khiến vùng quảng cáo có trải nghiệm liên kết.

Enum
LINKOUT_REQUIRED_REASON_UNSPECIFIED Giá trị mặc định: Không sử dụng, tương đương với không xác định.
PAYMENT_REQUIRED Bạn phải thanh toán trong nền tảng của đối tác để đặt chỗ.

Phương thức

replace

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