保留規格

建立「保留」是預訂服務的第一步。合作夥伴後端會確認要求的預約時段是否有效且可供預訂。合作夥伴可於內部針對要求的時段建立暫時性保留,並設為在 lease_expiration_time 後自動到期。後端可修改 lease_expiration_time;舉例來說,要求的保留時間過長時,則可從後端修改。 系統會將已建立的保留傳回用戶端。

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