CreateLease-Methode

Die Erstellung von Leases wird optional unterstützt. Sie ist für Partner verfügbar, die diese Funktion implementieren möchten. Wenden Sie sich an das Actions Center, um festzustellen, ob Sie die Voraussetzungen erfüllen, bevor Sie beginnen.

Wenn du eine Buchung mit Lease-Unterstützung erstellen möchtest, musst du zuerst eine Lease erstellen. Das Back-End des Partners prüft, ob der angeforderte Slot gültig und verfügbar ist. Intern erstellt der Partner eine temporäre Reservierung für den angeforderten Slot, der automatisch um "lease_expiration_time" abläuft. Das Back-End darf "lease_expiration_time" ändern, z. B. wenn die angeforderte Zeit für die Lease zu lang ist. Die erstellte Lease wird an den Client zurückgegeben. Anschließend fordert der Client die Erstellung einer Buchung für die Lease an.

Kann die Lease aufgrund eines Fehlers in der Geschäftslogik nicht erstellt werden, muss der Fehler in der Antwort angegeben werden. Weitere Informationen findest du hier.

Anfrage

CreateLeaseRequest

Rückgabewert

CreateLeaseResponse

Voraussetzungen:

  • "lease_id" muss vom Back-End des Partners erstellt und in "CreateLeaseResponse" festgelegt werden.
  • "lease_expiration_time" muss in "CreateLeaseResponse" festgelegt werden.
  • Wenn das Ressourcenfeld in "CreateLeaseRequest" angegeben ist, muss es in "CreateLeaseResponse" festgelegt werden und mit "CreateLeaseRequest" übereinstimmen.
  • Alle anderen Felder in "CreateLeaseResponse" müssen festgelegt sein und mit "CreateLeaseRequest" übereinstimmen.

Kanonische gRPC-Fehlercodes

  • INVALID_ARGUMENT (ungültige Händler-ID, Dienstleistungs-ID oder Zeitangabe für den Slot)
// 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;
}