La creazione del contratto di locazione è il primo passaggio per prenotare un appuntamento. Il backend del partner verifica che l'appuntamento richiesto sia valido e ancora disponibile. All'interno, il partner crea una prenotazione temporanea per lo slot richiesto, che viene configurato per scadere automaticamente alle ore lease_expiration_time
. Il backend è autorizzato a modificare lease_expiration_time
, ad esempio se il tempo di locazione richiesto è eccessivamente lungo. Il lease creato viene restituito al client.
// Temporary lease for an inventory slot message Lease { // ID of the lease. Ignored when creating a lease. string lease_id = 1; // ID of the merchant for the slot string merchant_id = 2; // ID of the merchant service string service_id = 3; // Start time of the appointment slot google.protobuf.Timestamp start_time = 4; // Duration of the appointment slot google.protobuf.Duration duration = 5; // Opaque tag that identifies the availability slot and matches the value // provided in the availability feed. string availability_tag = 8; // The set of resources that disambiguates the appointment slot, e.g. by // indicating the staff member and room selected by the user. Resources resources = 9; // Unique identifier for this lease, chosen by the client. Serves as an // idempotency token for [ext.maps.booking.partner.v0.CreateLease] requests. string client_reference = 6; // Expiration time of the lease google.protobuf.Timestamp lease_expiration_time = 7; } // Reference to a [ext.maps.booking.partner.v0.Lease] that has been created via // [ext.maps.booking.partner.v0.CreateLease] message LeaseReference { // Lease ID string lease_id = 1; }