Specyfikacja dzierżawy

Stworzenie wynajmu to pierwszy krok podczas rezerwowania spotkania. Backend partnera sprawdza, czy żądany przedział czasu dla spotkania jest prawidłowy i nadal dostępny. Wewnętrznie partner tworzy tymczasową blokadę dotyczącą żądanego boksu, która ma wygasać automatycznie o lease_expiration_time. Backend może modyfikować lease_expiration_time, np. jeśli żądany czas dzierżawy jest zbyt długi. Utworzona dzierżawa zostanie zwrócona klientowi.

// 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;
}