Phương thức CreateLease

Bạn không bắt buộc phải hỗ trợ việc tạo hợp đồng thuê. Chính sách này áp dụng cho những đối tác quan tâm đến việc triển khai chức năng này. Vui lòng liên hệ với Trung tâm hành động để xác định điều kiện trước khi bắt đầu.

Tạo hợp đồng thuê là bước đầu tiên khi tạo một yêu cầu đặt phòng có hỗ trợ về Hợp đồng thuê. Phần phụ trợ của đối tác xác minh rằng khung giờ nhận đặt hẹn được yêu cầu là hợp lệ và có sẵn. Trong nội bộ, đối tác sẽ tạo một khoản tiền tạm giữ cho khung giờ được yêu cầu. Khoản tiền này được thiết lập để tự động hết hạn tại thời điểm lease_expiration_time. Phần phụ trợ được phép sửa đổi lease_expiration_time, ví dụ: nếu thời gian thuê được yêu cầu quá dài. Hợp đồng thuê đã tạo sẽ được trả về cho ứng dụng khách. Sau đó, ứng dụng sẽ yêu cầu tạo một yêu cầu đặt trước cho hợp đồng thuê.

Nếu không tạo được hợp đồng thuê do lỗi logic nghiệp vụ, lỗi sẽ được điền vào phản hồi. Hãy xem phần Lỗi đặt phòng để biết thông tin chi tiết.

Yêu cầu

CreateLeaseRequest

Giá trị trả về

CreateLeaseResponse

Yêu cầu:

  • lease_id phải do phần phụ trợ của đối tác tạo và đặt trong CreateLeaseResponse.
  • Bạn phải đặt lease_expiration_time trong CreateLeaseResponse.
  • Nếu trường tài nguyên được chỉ định trong CreateLeaseRequest, thì bạn phải đặt trường này trong CreateLeaseResponse và khớp với CreateLeaseRequest.
  • Bạn phải đặt và so khớp tất cả các trường khác trong CreateLeaseResponse với CreateLeaseRequest.

Mã lỗi gRPC chuẩn

  • INVALID_ARGUMENT (mã người bán, mã dịch vụ hoặc thông số kỹ thuật về thời gian của khung giờ không hợp lệ)
// Request to create a [ext.maps.booking.partner.v2.Lease] for a slot in the
// inventory.  The expiration time in the returned Lease may be modified by the
// backend, e.g. if the requested lease period is too long.
message CreateLeaseRequest {
  // The lease to be created with information about the appointment slot
  // (required)
  Lease lease = 1;
}

// Response for the [ext.maps.booking.partner.v2.CreateLease] RPC with the
// created [ext.maps.booking.partner.v2.Lease]
message CreateLeaseResponse {
  // The created [ext.maps.booking.partner.v2.Lease] (required)
  Lease lease = 1;

  // If creating a lease fails, this field should reflect the business logic
  // error (e.g., slot has become unavailable) and lease field is expected to be
  // unset. (required if failure occurs)
  BookingFailure booking_failure = 2;
}