Phương thức UpdateBooking

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

Nếu không cập nhật được lượt đặt trước do lỗi logic kinh doanh, lỗi sẽ được điền vào trường UpdateBookingResponse.booking_failure và trả về trạng thái HTTP 200.

Yêu cầu

Yêu cầu cập nhật yêu cầu đặt chỗ

Thông báo yêu cầu chứa thông tin cập nhật trong trường đặt lịch hẹn. Yêu cầu này sẽ chứa một booking_id để xác định lượt đặt phòng cần cập nhật. Gói thuê bao cũng sẽ bao gồm một trong:

  1. Thông tin về khoảng thời gian trống cần cập nhật (nội dung sửa đổi lượt đặt trước)
  2. Trạng thái cần thay đổi (huỷ đặt phòng)

Các trường không yêu cầu thay đổi sẽ không được cung cấp trong yêu cầu.

Giá trị trả về

Phản hồi đặt trước

// Request to update a Booking.
message UpdateBookingRequest {
  // 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 = 1;
}

// Response with the updated 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;
}