UpdateBooking 方法
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
客户可通过 UpdateBooking 修改或取消现有预订。
如果因业务逻辑错误而导致预订更新失败,则应将相应错误填充到 UpdateBookingResponse.booking_failure
字段中,并返回 HTTP 状态 200。
请求
UpdateBookingRequest
请求消息会在预订字段中包含更新后的信息。请求将包含 booking_id
,以标识要更新的预订。它还包括以下信息之一:
- 要更新的空档详细信息(修改预订)
- 要更改的状态(取消预订)
不会在请求中提供无需更改的字段。
返回值
UpdateBookingResponse
// 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;
}
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-26。
[null,null,["最后更新时间 (UTC):2025-07-26。"],[[["\u003cp\u003eUpdateBooking API allows clients to modify or cancel existing bookings by providing the \u003ccode\u003ebooking_id\u003c/code\u003e and updated information like slot details or status.\u003c/p\u003e\n"],["\u003cp\u003eThe API uses \u003ccode\u003eUpdateBookingRequest\u003c/code\u003e for sending update requests and \u003ccode\u003eUpdateBookingResponse\u003c/code\u003e for responses, including the updated booking and potentially an updated user payment option.\u003c/p\u003e\n"],["\u003cp\u003eIn case of update failure due to business logic errors, the error details will be provided in the \u003ccode\u003ebooking_failure\u003c/code\u003e field of the \u003ccode\u003eUpdateBookingResponse\u003c/code\u003e, even with an HTTP 200 status.\u003c/p\u003e\n"],["\u003cp\u003eWhen updating a booking results in payment option changes (e.g., cancellation leading to credit), the updated \u003ccode\u003eUserPaymentOption\u003c/code\u003e is included in the response.\u003c/p\u003e\n"]]],["The `UpdateBooking` process modifies or cancels a booking via an `UpdateBookingRequest`, identified by `booking_id`. The request includes either new slot details for modification or a status change for cancellation. The `UpdateBookingResponse` returns the updated `Booking` and may include an altered `UserPaymentOption` if changes occurred. If updating fails due to a business logic error, the `booking_failure` field is populated, and a 200 HTTP status is returned. Unchanged fields are omitted from the request.\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 `UpdateBookingResponse.booking_failure` field and returned\nwith HTTP status 200.\n\n**Request**\n\nUpdateBookingRequest\n\nA request message contains updated information in the booking field.\nThe request will contain a `booking_id` to identify the booking to update. It\nwill also include one of:\n\n1. Slot details to update (booking modifications)\n2. Status to change (booking cancellation)\n\nFields which do not require change will not be provided in the request.\n\n**Return value**\n\nUpdateBookingResponse \n\n```scilab\n// Request to update a Booking.\nmessage UpdateBookingRequest {\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 = 1;\n}\n\n// Response with the updated 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```"]]