Méthode UpdateBooking

Le client utilise UpdateBooking pour modifier ou annuler une réservation existante.

Si la mise à jour d'une réservation é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

UpdateBookingRequest

Un message de requête contient de nouvelles informations dans le champ de réservation et répertorie les chemins vers tous les champs de réservation à mettre à jour dans le champ update_mask. Par exemple, le champ update_mask d'une requête qui replanifie une réservation existante contient les deux chemins suivants :

  paths: "slot.start_time"
  paths: "slot.duration"

Pour en savoir plus, consultez la section sur FieldMask.

Valeur renvoyée :

UpdateBookingResponse

Codes d'erreur gRPC canoniques

  • INVALID_ARGUMENT (le masque de champ fourni contient des valeurs non valides, ou l'un des champs de réservation mis à jour est incorrect)
  • NOT_FOUND (le partenaire ne reconnaît pas l'ID de réservation fourni)
// Request to update a [ext.maps.booking.partner.v2.Booking]
message UpdateBookingRequest {
  // Field mask of all booking fields to be updated (optional)
  google.protobuf.FieldMask update_mask = 1;

  // The booking to be updated
  // The following fields can be set in a booking:
  // - status, to cancel a booking.
  // - one of the following is required:
  //   - start_time AND duration in the slot, to reschedule a booking.
  //   - party_size (for dining reservations).
  Booking booking = 2;
}

// Response with the updated [ext.maps.booking.partner.v2.Booking]
message UpdateBookingResponse {
  // The updated booking (required)
  Booking booking = 1;

  // The updated user payment option originally used to pay for this booking.
  // This should be set if the UpdateBookingRequest results in a change to
  // the UserPaymentOption.
  // For instance, if the booking is canceled, the UserPaymentOption should
  // reflect an additional credit to the user. In the case of a multi-use
  // payment option, the current_count should be increased by one to
  // allow the user to create another booking with this payment option. In the
  // case of a single-use payment option, a new single-use user payment option
  // should be returned. (required if altered in update)
  UserPaymentOption user_payment_option = 2;

  // If updating a booking fails, this field should reflect the business logic
  // error (e.g., booking is not cancellable) (required if failure occurs)
  BookingFailure booking_failure = 3;
}