Obsługa tworzenia umów najmu jest opcjonalna. Dotyczy to partnerów, którzy chcą wdrożyć tę funkcję. Zanim zaczniesz, skontaktuj się z Centrum działań, aby sprawdzić, czy kwalifikujesz się do korzystania z tej funkcji.
Utworzenie umowy najmu to pierwszy krok podczas tworzenia rezerwacji z obsługą umowy najmu. Backend partnera sprawdza, czy żądany termin spotkania jest prawidłowy i dostępny. Wewnętrznie partner tworzy tymczasową rezerwację żądanego przedziału, która automatycznie wygasa o godzinie lease_expiration_time. Backend może modyfikować wartość lease_expiration_time, np. jeśli żądany czas trwania dzierżawy jest zbyt długi. Utworzona dzierżawa zostanie zwrócona klientowi. Następnie klient wysyła prośbę o utworzenie rezerwacji najmu.
Jeśli utworzenie dzierżawy nie powiedzie się z powodu błędu logiki biznesowej, w odpowiedzi powinien pojawić się błąd. Szczegółowe informacje znajdziesz w sekcji Nieudana rezerwacja.
Żądanie
CreateLeaseRequest
Zwracana wartość
CreateLeaseResponse
Wymagania:
- Identyfikator lease_id musi zostać utworzony przez backend partnera i ustawiony w odpowiedzi CreateLeaseResponse.
- W odpowiedzi CreateLeaseResponse musi być ustawiony parametr lease_expiration_time.
- Jeśli pole resources jest określone w elemencie CreateLeaseRequest, musi być ustawione w elemencie CreateLeaseResponse i odpowiadać elementowi CreateLeaseRequest.
- Wszystkie pozostałe pola w odpowiedzi CreateLeaseResponse muszą być ustawione i zgodne z żądaniem CreateLeaseRequest.
Kanoniczne kody błędów gRPC
INVALID_ARGUMENT(nieprawidłowy identyfikator sprzedawcy, identyfikator usługi lub specyfikacja czasu rezerwacji)
// 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 { option features.(pb.java).nest_in_file_class = YES; // 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 { option features.(pb.java).nest_in_file_class = YES; // 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; }