UpdateBooking 方法
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
客户可通过 UpdateBooking 修改或取消现有预订。
如果因业务逻辑错误而导致预订更新失败,则应将相应错误填充到响应中。如需了解详情,请参阅预订失败。
请求
UpdateBookingRequest
请求消息会在预订字段中包含更新后的信息,并在 update_mask 字段中列出要更新的所有预订字段的路径。例如,负责重新安排现有预订的请求的 update_mask 字段包含以下两个路径:
paths: "slot.start_time"
paths: "slot.duration"
如需了解详情,请参阅 FieldMask。
返回值
UpdateBookingResponse
典型的 gRPC 错误代码
INVALID_ARGUMENT
(如果提供的字段掩码包含无效值或更新后的预订字段无效)
NOT_FOUND
(如果合作伙伴不知道所提供的预订 ID)
// Request to update a [ext.maps.booking.partner.v2.Booking]
message UpdateBookingRequest {
// 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 {
// 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;
}
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-26。
[null,null,["最后更新时间 (UTC):2025-07-26。"],[[["\u003cp\u003e\u003ccode\u003eUpdateBooking\u003c/code\u003e enables clients to modify or cancel existing bookings by specifying updated fields and an \u003ccode\u003eupdate_mask\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe request must contain a \u003ccode\u003eBooking\u003c/code\u003e object with desired changes and a \u003ccode\u003eFieldMask\u003c/code\u003e indicating which fields are being updated.\u003c/p\u003e\n"],["\u003cp\u003ePotential errors include \u003ccode\u003eINVALID_ARGUMENT\u003c/code\u003e for incorrect requests and \u003ccode\u003eNOT_FOUND\u003c/code\u003e if the booking ID is invalid.\u003c/p\u003e\n"],["\u003cp\u003eThe response returns an updated \u003ccode\u003eBooking\u003c/code\u003e object, potentially a modified \u003ccode\u003eUserPaymentOption\u003c/code\u003e, or a \u003ccode\u003eBookingFailure\u003c/code\u003e if the update fails.\u003c/p\u003e\n"],["\u003cp\u003eRescheduling requires updating \u003ccode\u003estart_time\u003c/code\u003e and \u003ccode\u003eduration\u003c/code\u003e within the \u003ccode\u003eslot\u003c/code\u003e field, while cancellations involve updating the \u003ccode\u003estatus\u003c/code\u003e field.\u003c/p\u003e\n"]]],["The `UpdateBooking` function modifies existing bookings. A request includes the updated booking details and a field mask specifying which fields to change, such as `slot.start_time` and `slot.duration` for rescheduling. The response returns the updated booking and may include a modified `UserPaymentOption` or a `BookingFailure` for business logic errors. Possible errors include `INVALID_ARGUMENT` for invalid fields or `NOT_FOUND` for an unknown booking ID. The status can be updated to cancel a booking.\n"],null,["# UpdateBooking method\n\nThe client uses UpdateBooking to modify or cancel an existing booking.\n\nIf updating a booking fails due to any business logic error, the error should be\npopulated in the response. See [Booking\nFailure](/actions-center/reference/grpc-api-v2/booking-failure-specification) for\ndetailed information.\n\n**Request**\n\nUpdateBookingRequest\n\nA request message contains updated information in the booking field, and lists\npaths of all booking fields to be updated in the update_mask field. For example,\nthe update_mask field of a request that reschedules an existing booking contains\nthe following two paths: \n\n```scdoc\n paths: \"slot.start_time\"\n paths: \"slot.duration\"\n```\n\nSee\n[FieldMask](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask)\nfor additional information.\n\n**Return value**\n\nUpdateBookingResponse\n\n**Canonical gRPC error codes**\n\n- `INVALID_ARGUMENT` (if the provided field mask contains invalid values or any of the updated Booking fields are invalid)\n- `NOT_FOUND` (if the provided booking ID is unknown to the partner)\n\n```scilab\n// Request to update a [ext.maps.booking.partner.v2.Booking]\nmessage UpdateBookingRequest {\n // Field mask of all booking fields to be updated (optional)\n google.protobuf.FieldMask update_mask = 1;\n\n // The booking to be updated\n // The following fields can be set in a booking:\n // - status, to cancel a booking.\n // - one of the following is required:\n // - start_time AND duration in the slot, to reschedule a booking.\n // - party_size (for dining reservations).\n Booking booking = 2;\n}\n\n// Response with the updated [ext.maps.booking.partner.v2.Booking]\nmessage UpdateBookingResponse {\n // The updated booking (required)\n Booking booking = 1;\n\n // The updated user payment option originally used to pay for this booking.\n // This should be set if the UpdateBookingRequest results in a change to\n // the UserPaymentOption.\n // For instance, if the booking is canceled, the UserPaymentOption should\n // reflect an additional credit to the user. In the case of a multi-use\n // payment option, the current_count should be increased by one to\n // allow the user to create another booking with this payment option. In the\n // case of a single-use payment option, a new single-use user payment option\n // should be returned. (required if altered in update)\n UserPaymentOption user_payment_option = 2;\n\n // If updating a booking fails, this field should reflect the business logic\n // error (e.g., booking is not cancellable) (required if failure occurs)\n BookingFailure booking_failure = 3;\n}\n```"]]