Aggiornamento metodo di prenotazione

Il cliente utilizza UpdateBooking per modificare o annullare una prenotazione esistente.

Se l'aggiornamento di una prenotazione non va a buon fine a causa di un errore della logica di business, l'errore deve essere completato nella risposta. Per informazioni dettagliate, consulta la sezione Errore di prenotazione.

Richiedi

Richiesta di aggiornamento della prenotazione

Un messaggio di richiesta contiene informazioni aggiornate nel campo di prenotazione ed elenca i percorsi di tutti i campi di prenotazione da aggiornare nel campo update_mask. Ad esempio, il campo update_mask di una richiesta che ripianifica una prenotazione esistente contiene i seguenti due percorsi:

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

Per ulteriori informazioni, consulta FieldMask.

Valore restituito

AggiornamentoPrenotazioneRisposta

Codici di errore gRPC canonici

  • INVALID_ARGUMENT (se la maschera del campo fornita contiene valori non validi o uno qualsiasi dei campi di prenotazione aggiornati non è valido)
  • NOT_FOUND (se l'ID prenotazione fornito è sconosciuto al partner)
// 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;
}