UpdateBooking 메서드

요청

UpdateBookingRequest

요청 메시지에는 예약 필드에 업데이트된 정보가 포함되며, update_mask 필드에 업데이트될 모든 예약 필드의 경로가 나타납니다. 예를 들어 기존 예약의 일정을 변경하는 요청의 update_mask 필드에는 다음 두 경로가 포함됩니다.

  paths: "start_time"
  paths: "duration"

자세한 내용은 FieldMask를 참고하세요.

반환값

UpdateBookingResponse

표준 gRPC 오류 코드

  • INVALID_ARGUMENT: 제공된 필드 마스크에 잘못된 값이 포함되어 있거나 업데이트된 예약 필드가 잘못된 경우. 여기에는 비즈니스 로직에 의해 필드 업데이트가 허용되지 않는 경우가 포함됩니다(예: 너무 늦어서 취소할 수 없는 경우).
  • NOT_FOUND: 제공된 예약 ID를 알 수 없는 경우
  • RESOURCE_EXHAUSTED: 업데이트된 시작 시간에 해당하는 시간대를 예약할 수 없는 경우
// 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;
}