La creazione del contratto di locazione è il primo passaggio per prenotare un appuntamento. Il backend del partner verifica che lo slot dell'appuntamento richiesto sia valido e ancora disponibile. Internamente, il partner crea una sospensione temporanea per lo slot richiesto, che è configurato per scadere automaticamente alle ore 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.
// Temporary lease for an inventory slot message Lease { option features.(pb.java).nest_in_file_class = YES; // 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 { option features.(pb.java).nest_in_file_class = YES; // Lease ID string lease_id = 1; }