Metodo CreateLease

Il supporto per la creazione di lease è facoltativo. Si applica ai partner interessati a implementare questa funzionalità. Contatta il Centro azioni per determinare l'idoneità prima di iniziare.

La creazione del contratto di locazione è il primo passaggio da eseguire per creare una prenotazione con l'assistenza per l'affitto. Il backend del partner verifica che lo spazio per appuntamenti richiesto sia valido e disponibile. Internamente, il partner crea una trattenuta temporanea per lo slot richiesto, impostata per scadere automaticamente al lease_expiration_time. Il backend può modificare lease_expiration_time, ad esempio se il tempo di lease richiesto è troppo lungo. Il lease creato viene restituito al client. Poi il cliente chiede di creare una prenotazione per il leasing.

Se la creazione di un lease non va a buon fine a causa di un errore della logica di business, l'errore deve essere completato 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 delle 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 CreateLeaseRequest.

Codici di errore gRPC canonici

  • INVALID_ARGUMENT (ID commerciante, ID servizio o specifica del tempo di 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 {
  // 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;
}