روش UpdateBooking

مشتری از UpdateBooking برای تغییر یا لغو رزرو موجود استفاده می‌کند.

اگر به‌روزرسانی رزرو به دلیل هرگونه خطای منطق کسب‌وکار با شکست مواجه شود، خطا باید در پاسخ ثبت شود. برای اطلاعات دقیق‌تر به بخش «شکست رزرو» مراجعه کنید.

درخواست

درخواست رزرو به‌روزرسانی

یک پیام درخواست شامل اطلاعات به‌روزرسانی‌شده در فیلد رزرو است و مسیرهای تمام فیلدهای رزرو که باید به‌روزرسانی شوند را در فیلد update_mask فهرست می‌کند. برای مثال، فیلد update_mask درخواستی که رزرو موجود را مجدداً برنامه‌ریزی می‌کند، شامل دو مسیر زیر است:

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

برای اطلاعات بیشتر به FieldMask مراجعه کنید.

مقدار بازگشتی

به‌روزرسانی پاسخ رزرو

کدهای خطای gRPC کانونیکال

  • INVALID_ARGUMENT (اگر ماسک فیلد ارائه شده حاوی مقادیر نامعتبر باشد یا هر یک از فیلدهای رزرو به‌روزرسانی شده نامعتبر باشند)
  • NOT_FOUND (اگر شناسه رزرو ارائه شده برای همکار ناشناخته باشد)
// 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;
}