AI-generated Key Takeaways
-
Partners must create and set
lease_id
andlease_expiration_time
in theCreateLeaseResponse
. -
CreateLeaseResponse
must mirror theCreateLeaseRequest
, including theresources
field if provided, and all other fields. -
Potential errors include
INVALID_ARGUMENT
,ALREADY_EXISTS
, andRESOURCE_EXHAUSTED
for various invalid input or booking conflicts. -
The
CreateLeaseRequest
initiates a lease creation for a specific appointment slot, while theCreateLeaseResponse
returns the created lease details. -
The backend may adjust the lease expiration time in the response.
Request
CreateLeaseRequest
Return value
CreateLeaseResponse
Requirements:
- lease_id must be created by the partner backend and set in the CreateLeaseResponse.
- lease_expiration_time must be set in the CreateLeaseResponse.
- If the resources field is specified in the CreateLeaseRequest, then it must be set in the CreateLeaseResponse, and match the CreateLeaseRequest.
- All other fields in the CreateLeaseResponse must be set and match the CreateLeaseRequest.
Canonical gRPC error codes
INVALID_ARGUMENT
(invalid merchant ID, service ID, client reference or slot time specification)ALREADY_EXISTS
(if the client already has a lease on the slot)RESOURCE_EXHAUSTED
(if the slot is not available)
// Request to create a [ext.maps.booking.partner.v0.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 Lease lease = 1; } // Response for the [ext.maps.booking.partner.v0.CreateLease] RPC with the // created [ext.maps.booking.partner.v0.Lease] message CreateLeaseResponse { // The created [ext.maps.booking.partner.v0.Lease] Lease lease = 1; }