Phương thức UpdateBooking

Ứng dụng sử dụng UpdateBooking để sửa đổi hoặc huỷ một lượt đặt trước hiện có.

Nếu việc cập nhật lượt đặt phòng không thành công do bất kỳ lỗi logic nghiệp vụ nào, thì lỗi đó sẽ được điền vào phản hồi. Hãy xem phần Lỗi đặt chỗ để biết thông tin chi tiết.

Yêu cầu

UpdateBookingRequest

Thông báo yêu cầu chứa thông tin đã cập nhật trong trường đặt phòng và liệt kê các đường dẫn của tất cả các trường đặt phòng cần cập nhật trong trường update_mask. Ví dụ: trường update_mask của một yêu cầu lên lịch lại cho một lượt đặt phòng hiện có chứa 2 đường dẫn sau:

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

Hãy xem FieldMask để biết thêm thông tin.

Giá trị trả về

UpdateBookingResponse

Mã lỗi gRPC chuẩn

  • INVALID_ARGUMENT (nếu mặt nạ trường được cung cấp chứa các giá trị không hợp lệ hoặc bất kỳ trường Đặt phòng nào được cập nhật là không hợp lệ)
  • NOT_FOUND (nếu đối tác không biết mã đặt phòng được cung cấp)
// Request to update a [ext.maps.booking.partner.v2.Booking]
message UpdateBookingRequest {
  option features.(pb.java).nest_in_file_class = YES;

  // 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 {
  option features.(pb.java).nest_in_file_class = YES;

  // 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;
}