Méthode CreateLease

L'intégration de la fonctionnalité de création de locations est facultative. Elle ne concerne que les partenaires qui souhaitent l'utiliser. Avant de commencer, veuillez contacter le centre d'actions pour déterminer votre éligibilité.

Lorsqu'elle est intégrée, la création de la location constitue la première étape de création d'une réservation. Le backend du partenaire vérifie que le créneau horaire demandé est valide et disponible. En interne, le partenaire crée une préservation temporaire pour le créneau demandé, qui est configuré pour expirer automatiquement à l'heure spécifiée dans le champ lease_expiration_time. Le backend est autorisé à modifier la valeur location_expiration_time (par exemple dans le cas où la durée de location demandée est trop longue). La location ainsi créée est renvoyée au client. Le client demande ensuite de créer une réservation pour la location.

Si la création d'une location échoue en raison d'une erreur de logique métier, celle-ci doit être insérée dans la réponse. Pour en savoir plus, consultez la section Échec d'une réservation.

Requête

CreateLeaseRequest

Renvoie :

CreateLeaseResponse

Conditions requises :

  • La valeur location_id doit être créée par le backend du partenaire et définie dans la réponse CreateLeaseResponse.
  • La valeur location_expiration_time doit être définie dans la réponse CreateLeaseResponse.
  • Si le champ des ressources est spécifié dans la requête CreateLeaseRequest, il doit alors être défini de manière correspondante dans la réponse CreateLeaseResponse.
  • Tous les autres champs de la réponse CreateLeaseResponse doivent être définis et correspondre à ceux de la requête CreateLeaseRequest.

Codes d'erreur gRPC canoniques

  • INVALID_ARGUMENT (référence marchand, ID du service ou spécification du créneau horaire non valide)
// 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;
}