Il supporto per la creazione di contratti di locazione è facoltativo. Si applica ai partner interessati a implementare questa funzionalità. Prima di iniziare, contatta il Centro azioni per determinare l'idoneità.
La creazione del contratto di locazione è il primo passaggio per creare una prenotazione con il supporto del contratto di locazione. Il backend del partner verifica che lo slot dell'appuntamento richiesto sia valido e disponibile. A livello interno, il partner crea una sospensione temporanea per lo slot richiesto, che è configurato per scadere automaticamente all'ora lease_expiration_time. Il backend può modificare lease_expiration_time, ad esempio se il tempo di lease richiesto è eccessivamente lungo. Il lease creato viene restituito al client. Poi il cliente richiede di creare una prenotazione per il contratto di locazione.
Se la creazione di un contratto di locazione non va a buon fine a causa di un errore di logica di business, l'errore deve essere inserito nella risposta. Per informazioni dettagliate, consulta Errore di prenotazione.
Richiesta
CreateLeaseRequest
Valore restituito
CreateLeaseResponse
Requisiti:
- lease_id deve essere creato dal backend del partner e impostato in CreateLeaseResponse.
- lease_expiration_time deve essere impostato in CreateLeaseResponse.
- Se il campo delle risorse è specificato in CreateLeaseRequest, deve essere impostato in CreateLeaseResponse e corrispondere a CreateLeaseRequest.
- Tutti gli altri campi di CreateLeaseResponse devono essere impostati e corrispondere a CreateLeaseRequest.
Codici di errore gRPC canonici
INVALID_ARGUMENT(ID commerciante, ID servizio o specifica dell'orario dello slot non validi)
// 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; }