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;
}
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-07-26 (世界標準時間)。
[null,null,["上次更新時間: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```"]]