UpdateBooking method
Stay organized with collections
Save and categorize content based on your preferences.
The client uses UpdateBooking to modify or cancel an existing booking.
If updating a booking fails due to any business logic error, the error should be
populated in the UpdateBookingResponse.booking_failure
field and returned
with HTTP status 200.
Request
UpdateBookingRequest
A request message contains updated information in the booking field.
The request will contain a booking_id
to identify the booking to update. It
will also include one of:
- Slot details to update (booking modifications)
- Status to change (booking cancellation)
Fields which do not require change will not be provided in the request.
Return value
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;
}
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-05-20 UTC.
[null,null,["Last updated 2025-05-20 UTC."],[[["\u003cp\u003eUpdateBooking API allows clients to modify or cancel existing bookings by sending an UpdateBookingRequest containing the booking ID and the desired changes.\u003c/p\u003e\n"],["\u003cp\u003eUpdateBookingRequest must include either updated slot details (for modifications) or a new status (for cancellations), omitting unchanged fields.\u003c/p\u003e\n"],["\u003cp\u003eUpdateBookingResponse returns the updated booking details, including any changes to the UserPaymentOption if applicable.\u003c/p\u003e\n"],["\u003cp\u003eEven if updating a booking fails due to business logic errors, the API responds with HTTP status 200, providing details about the failure in the booking_failure field of the UpdateBookingResponse.\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```"]]