Metoda CreateLease

Obsługa tworzenia dzierżawy jest opcjonalna. Dotyczy to partnerów, którzy są zainteresowani wdrożeniem tej funkcji. Zanim zaczniesz, skontaktuj się z Centrum akcji, aby sprawdzić, czy się kwalifikujesz.

Utworzenie dzierżawy to pierwszy krok podczas tworzenia rezerwacji w zespole pomocy Lease. Backend partnera sprawdzi, czy żądany przedział czasu dla spotkania jest prawidłowy i dostępny. Wewnętrznie partner tworzy tymczasową blokadę dotyczącą żądanego boksu, która ma wygasać automatycznie po lease_expiration_time. Backend może modyfikować lease_expiration_time, np. jeśli żądany czas dzierżawy jest zbyt długi. Utworzona dzierżawa zostanie zwrócona klientowi. Następnie klient prosi o utworzenie rezerwacji.

Jeśli utworzenie dzierżawy nie uda się z powodu błędu logiki biznesowej, podaj ten błąd w odpowiedzi. Szczegółowe informacje znajdziesz w sekcji Błąd rezerwacji.

Wyślij prośbę

CreateLeaseRequest

Zwracana wartość

CreateLeaseResponse

Wymagania:

  • Element lease_id musi zostać utworzony przez backend partnera i ustawiony w opcji CreateLeaseResponse.
  • Wartość lease_expiration_time musi być ustawiona w obiekcie CreateLeaseResponse.
  • Jeśli pole zasobów jest określone w CreateLeaseRequest, musi być ustawione w CreateLeaseResponse i zgodne z CreateLeaseRequest.
  • Wszystkie pozostałe pola w CreateLeaseResponse muszą być ustawione i zgodne z CreateLeaseRequest.

Kanoniczne kody błędów gRPC

  • INVALID_ARGUMENT (nieprawidłowy identyfikator sprzedawcy, identyfikator usługi lub specyfikacja czasu przedziałów)
// 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;
}