Metodo CreateLease

Il supporto per la creazione del contratto di locazione è facoltativo. Si applica ai partner interessati a implementare questa funzionalità. Contatta il Centro azioni per determinare la tua idoneità prima di iniziare.

La creazione del contratto di locazione è il primo passaggio per creare una prenotazione con l'assistenza per i contratti di locazione. Il backend del partner verifica che l'appuntamento richiesto sia valido e disponibile. All'interno, il partner crea una prenotazione temporanea per lo slot richiesto, che viene configurato per scadere automaticamente al momento lease_expiration_time. Il backend è autorizzato a modificare lease_expiration_time, ad esempio se il periodo di locazione richiesto è eccessivamente lungo. Il lease creato viene restituito al client. Il cliente richiede quindi 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 la sezione Errore di prenotazione.

Richiedi

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 risorse è specificato in CreateLeaseRequest, deve essere impostato in CreateLeaseResponse e corrispondere a CreateLeaseRequest.
  • Tutti gli altri campi in CreateLeaseResponse devono essere impostati e corrispondere a quelli di CreateLeaseRequest.

Codici di errore gRPC canonici

  • INVALID_ARGUMENT (specifica di ID commerciante, ID servizio o ora dell'appuntamento non valida)
// 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;
}