Obsługa tworzenia leasingu jest opcjonalna. Dotyczy to partnerów zainteresowanych wdrożeniem tej funkcji. Przed rozpoczęciem skontaktuj się z Centrum działań, aby sprawdzić, czy spełniasz wymagania.
Utworzenie umowy najmu jest pierwszym krokiem podczas tworzenia rezerwacji z pomocą obsługi Lease. Backend partnera weryfikuje, czy żądany termin jest prawidłowy i dostępny. Wewnętrznie partner tworzy tymczasowe zablokowanie żądanego slotu, które wygasa automatycznie w dacie lease_expiration_time. Backend może modyfikować wartość lease_expiration_time, np. jeśli żądany czas trwania lease jest zbyt długi. Utworzony wynajem zostanie zwrócony klientowi. Następnie klient prosi o utworzenie rezerwacji na wynajem.
Jeśli tworzenie umowy najmu nie powiedzie się z powodu błędu logiki biznesowej, błąd powinien zostać wypełniony w odpowiedzi. Aby uzyskać szczegółowe informacje, zapoznaj się z artykułem Błąd podczas rezerwacji.
Wyślij prośbę
CreateLeaseRequest
Zwracana wartość
CreateLeaseResponse
Wymagania:
- lease_id musi zostać utworzony przez backend partnera i ustawiony w CreateLeaseResponse.
- W odpowiedzi na wywołanie CreateLeaseResponse musisz podać wartość lease_expiration_time.
- Jeśli pole resources jest określone w zapytaniu CreateLeaseRequest, musi być ustawione w odpowiedzi CreateLeaseResponse i musi być zgodne z zapytaniem 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 slotu)
// 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; }