Metode CreateLease

Dukungan untuk pembuatan lease bersifat opsional. Hal ini berlaku untuk partner yang berminat untuk menerapkan fungsi ini. Hubungi Pusat Tindakan untuk menentukan kelayakan sebelum Anda memulai.

Membuat lease adalah langkah pertama saat membuat pemesanan dengan dukungan Lease. Backend partner memverifikasi bahwa slot janji temu yang diminta valid dan tersedia. Secara internal, partner membuat penangguhan sementara untuk slot yang diminta, yang disiapkan untuk berakhir secara otomatis pada lease_expiration_time. Backend diizinkan mengubah lease_expiration_time, mis., jika waktu lease yang diminta terlalu panjang. Lease yang dibuat ditampilkan ke klien. Kemudian, klien meminta pembuatan pemesanan untuk lease.

Jika pembuatan lease gagal karena error logika bisnis, error ini harus dicantumkan dalam respons. Lihat Kegagalan Pemesanan untuk mendapatkan informasi mendetail.

Kirim Permintaan

CreateLeaseRequest

Nilai yang ditampilkan

CreateLeaseResponse

Persyaratan:

  • lease_id harus dibuat oleh backend partner dan ditetapkan di CreateLeaseResponse.
  • lease_expiration_time harus ditetapkan di CreateLeaseResponse.
  • Jika kolom resource ditentukan dalam CreateLeaseRequest, maka kolom tersebut harus ditetapkan di CreateLeaseResponse, dan cocok dengan CreateLeaseRequest.
  • Semua kolom lainnya di CreateLeaseResponse harus ditetapkan dan cocok dengan CreateLeaseRequest.

Kode error gRPC kanonis

  • INVALID_ARGUMENT (ID penjual, ID layanan, atau spesifikasi waktu slot yang tidak valid)
// 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;
}