Método UpdateBooking

Solicitud

UpdateBookingRequest

Un mensaje de solicitud contiene información actualizada en el campo de reserva y detalla las rutas de todos los campos de reserva que se deben actualizar en el campo update_mask. Por ejemplo, el campo update_mask de una solicitud que reprograma una reserva existente contendrá estas dos rutas:

  paths: "start_time"
  paths: "duration"

Consulta FieldMask para obtener información adicional.

Valor que se muestra

UpdateBookingResponse

Códigos de error de gRPC canónicos

  • Se utiliza INVALID_ARGUMENT si la máscara de campo proporcionada contiene valores no válidos o cualquiera de los campos de reserva actualizados no es válido. Esto incluye el caso en el que la lógica empresarial no permite actualizar el campo, p. ej., porque es demasiado tarde para cancelar.
  • Se utiliza NOT_FOUND si se desconoce el ID de reserva proporcionado.
  • Se utiliza RESOURCE_EXHAUSTED si el horario que corresponde a la hora de inicio actualizada no está disponible para la reserva.
// Request to update a [ext.maps.booking.partner.v0.Booking]
message UpdateBookingRequest {
  // Field mask of all booking fields to be updated
  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.
  // - start_time and duration to reschedule a booking.
  Booking booking = 2;
}

// Response with the updated [ext.maps.booking.partner.v0.Booking]
message UpdateBookingResponse {
  // The updated booking
  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.
  UserPaymentOption user_payment_option = 2;
}