UpdateBooking method



A request message contains updated information in the booking field, and lists paths of all booking fields to be updated in the update_mask field. For example, the update_mask field of a request that reschedules an existing booking contains the following two paths:

  paths: "start_time"
  paths: "duration"

See FieldMask for additional information.

Return value


Canonical gRPC error codes

  • INVALID_ARGUMENT if the provided field mask contains invalid values or any of the updated Booking fields are invalid. This includes the case where updating the field is not permitted by business logic, e.g. because it is too late to cancel.
  • NOT_FOUND if the provided booking ID is unknown
  • RESOURCE_EXHAUSTED if the slot that corresponds to the updated start time is not available for booking.
// 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;